環境はmac、OSX
悩まされて結局解決しないのでメモ
スマホ用のページを作ってて
var ymap = new Y.Map("yolp_map", {
configure : {
doubleClickZoom : false,
scrollWheelZoom : false,
singleClickPan : false,
dragging : false
}
});
ymap.bind('click', function(LatLng){ らっとらんぐほしい });
ymap.drawMap(らっとらんぐ, 12, Y.LayerSetId.NORMAL);
で地図を表示したんですが、ymapのonclickイベントが取得できんのです←
具体的にはchromeのデベロッパーツールでデバイスをApple iPhone6にして検証したんですがどうやっても取得できません。
マジギレしながらjqueryのみを読み込んで地図の単体ページ作ってそれを私のAndroid(SHL22)に送って実機のchromeで表示してみましたけどそれでも発火しません。
markerとかには同じことやってクリックすればイベントが発火します。
例えば
for(i = 0; i < objs.length; i++){
var latlng = new Y.LatLng(objs[i].location.lat, objs[i].location.lon);
var marker = new Y.Marker(latlng, {icon: icon});
marker.bind('click', ふぁんくしょん);
ymap.addFeature(marker);
}
これだと各マーカー余裕でクリック取れる。
地図上のクリックだけがどうやっても発火しないOTL
PC表示であれば同じコードで問題なくクリックイベント取れます。
ymapのclickイベントでクリックした位置の座標がLatLng形式で取れるのでそれを使いたいんですがなんか他に良い方法ないすかね〜←
あと、スマホ表示の場合のみ
var ymap = new Y.Map("yolp_map", {
configure : {
doubleClickZoom : false,
scrollWheelZoom : false,
singleClickPan : false,
dragging : true
}
});
の場合doubleClickZoomが有効になる。つらみ。
chromeでしか確認してないけど、chromeで動作しなかったら職業上アウトなんでアウト←