3

私のアプリには、場所とアイテムの 2 種類のマーカーが表示されます。アイテムを場所にドラッグ アンド ドロップできるようにしたいと考えています。

ただし、マーカーがドラッグされると、ドラッグmouseoverされたマーカーのイベントはトリガーされません。

誰かがこの効果を作成する方法を知っていれば、私は永遠に素晴らしいでしょう:-)

4

1 に答える 1

2

あなたの最善の策は、ターゲットまでの距離に基づいて実装することだと思います。実際のメートル単位の距離またはピクセル単位の画面距離です。例えば:

var locations = Array();
var items = Array();

その後:

var itemMarker = new google.maps.Marker(opts);
google.maps.event.addListener(itemMarker, 'drag', function(){
    for( var n = 0; n < locations.length; n++){
    var d = google.maps.geometry.spherical.computeDistanceBetween(this.getPosition(),locations[n].getPosition());
     if (d < 5){
         // do something when below a given threshold.
     }
    }
});
items.push(itemMarker);

デモはこちら:

http://maps.forum.nu/v3/gm_template_simple.html (オマハ マーカーをシカゴに向かってドラッグします。) API をロードするときにジオメトリ ライブラリをロードすることを忘れないでください。

于 2012-07-22T15:25:28.070 に答える