0

Google マップがEast-to-WestまたはWest-to-Eastからドラッグされているかどうかを判断する必要があります。Google 検索では、地図方向の組み合わせを入力するとすぐに大量の運転ルートの検索結果が表示されますが、ドラッグキーワードに関連するものは何もありません。私の目には会っていない関連する結果がいくつかあるかもしれませんが。

現在、イベントで現在の中心と新しい中心の経度を比較することでそれを行っていますcenter_changed-

google.maps.event.addListener(map, 'center_changed', function() {

    var newCenter = map.getCenter();
    var markerIcon;
    if (newCenter.lng() > currentLongitude) {
        markerIcon = goingEast;
    } else {
        markerIcon = goingWest;
    }

    var marker = new google.maps.Marker({
        position: map.getCenter(),
        map: map,
        icon: markerIcon
    });
});

それが正しい方法なのか、それとも私が知る必要があることを直接教えてくれるプロパティ/メソッドなどがあるのだろうか。

4

1 に答える 1

0

組み込みのメソッドやプロパティはありません。また、国際日付変更線を越えるとすぐに、あなたの方法では望ましい結果が得られない場合があります。

ロンドンからニューヨークを経由して東京に飛んでいると想像してみてください。ロンドンの経度は 0 で、東京の経度は 140 であるため、西の方向に飛んでいると言えますが、アプローチは東の方向に飛んでいると言えます。マップをドラッグしても同じことが起こります。

代わりに map-div の mouseEvents を使用します。

        mapOptions);
        google.maps.event.addListener(map, 'dragstart', function(){
          google.maps.event.addDomListenerOnce(map.getDiv(),
                                               'mousemove',
                                               function(e){map.set('x',e.clientX);})
        });
        google.maps.event.addListener(map, 'dragend', function(){
          google.maps.event.addDomListenerOnce(map.getDiv(),
                                               'mouseup',
                                               function(e){alert((e.clientX<map.get('x'))
                                                                   ?'left':'right');})
        });
于 2013-09-16T10:27:52.487 に答える