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();
// });
},