3

我的应用程序显示两种标记:位置和项目。我希望能够将项目拖放到位置上。

但是当一个标记被拖动时,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 (将 Omaha 标记拖向芝加哥。)请记住在加载 API 时加载几何库。

于 2012-07-22T15:25:28.070 回答