0

我有一个 qooxdoo 移动应用程序,我正在尝试实现一个谷歌地图。我看过 openlayers 的例子,但它不适合我的需要。我遇到的问题是附加到谷歌地图的事件没有被触发,或者至少没有到达我定义的处理程序。独立,在qooxdoo mobile之外,它工作正常。我直接从 inte _initialize 函数触发了 loadMapLibrary,并作为页面出现事件的侦听器。两次地图都显示得很好,但没有处理任何事件。

我知道我可以在 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

我已经在应用程序的其他地方加载了用于地理编码的谷歌地图 api。

删除了 var req = new qx.bom.request.Script(); 等只是简单地使用api,一切正常。

于 2013-01-22T20:45:31.813 回答