0

Googleマップを実装しようとしているqooxdooモバイルアプリがあります。openlayers の例を見てきましたが、私のニーズには合いません。私が抱えている問題は、Google マップに関連付けられたイベントがトリガーされないか、少なくとも定義したハンドラーに到達しないことです。qooxdoo mobileの外でスタンドアローンでも問題なく動作します。loadMapLibrary を inte _initialize 関数から直接トリガーし、ページの appear イベントのリスナーとしてトリガーしました。どちらの場合もマップは正常に表示されますが、イベントは処理されません。

div で qx イベントをトリガーできることは理解していますが、緯度/経度など、必要な google.maps プロパティが不足しています。何が間違っていますか。

デスクトップ用のhttp://demo.qooxdoo.org/current/demobrowser/#showcase~Maps.htmlの例は、私が実装した方法で動作するようです。何か不足していますか?

_loadMapLibrary: function() {

        var self = this;
        var req = new qx.bom.request.Script();

        req.onload = function() {
            self._G = google.maps;
            self._createMap();
        }

        req.open("GET", self._mapUri);
        req.send();
    },

    _createMap: function() {
        var mapContainer = document.getElementById("googleMap");

        var chicago = new this._G.LatLng(41.850033, -87.6500523);
        var myOptions = {
            zoom: 7,
            mapTypeId: this._G.MapTypeId.ROADMAP,
            center: chicago
        //        draggable: false,
        //        panControl: false

        }
        this._map = new this._G.Map(mapContainer, myOptions);

        google.maps.event.addListener(this._map, 'click', this._startDrawing);
        google.maps.event.addListener(this._map, 'mousemove', this._mapMouseMove);
    //      document.addEventListener("touchmove",function(e) {
    //        //log('touchmove');
    //        e.preventDefault();
    //      });
    },
4

1 に答える 1

0

アプリの他の場所でジオコーディング用の Google マップ API を既に読み込んでいました。

var req = new qx.bom.request.Script(); を削除しました。など、単純に API を使用するだけで、すべて正常に動作します。

于 2013-01-22T20:45:31.813 に答える