将标记放在另一个标记上

时间:2012-07-22 09:35:25

标签: google-maps google-maps-api-3

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

但是当拖动标记时,不会触发拖动标记的mouseover事件。

如果有人知道创造这种效果的方法,我会永远满满的: - )

1 个答案:

答案 0 :(得分: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时加载几何库。