我正在使用GoogleMaps,我有2个或更多标记,它们是可拖动的。 我想拍摄2个标记,如果它们在附近并将它们合并为1。 这有可能吗?
有人能给我指点......我怎么能意识到这一点?
答案 0 :(得分:2)
您需要处理drag event对象上的GMarker。诀窍是当你发现自己足够接近另一个标记将它们拼接在一起时,你会怎么做。我played around a little用这个想法可能隐藏当前拖动的标记可能是一个很好的方法。
GEvent.addListener(marker, "drag", function(point) {
// iterate over your points and for each otherPoint...
if (near (point, otherPoint))
{
// hide this marker
marker.hide ();
// move nearby marker to indicate merge?
// then delete the dragged marker on the dragend (if it was merged)
}
}
不是一个完全优雅的解决方案,但它可能适合您的目的。
编辑:我想知道您是否在寻找检查附近点的代码,所以我更新了我的示例:
function near (point1, point2)
{
sw = new GLatLng(point2.lat() - 0.005, point2.lng() - 0.005);
ne = new GLatLng(point2.lat() + 0.005, point2.lng() + 0.005);
var bounds = new GLatLngBounds(sw, ne);
if (bounds.contains (point1))
return true;
return false;
}