LoginSignup
1
1

More than 5 years have passed since last update.

ヤフーJavaScriptマップAPIのバグっぽいやつ

Posted at

環境は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で動作しなかったら職業上アウトなんでアウト←

1
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1