Google Maps API v3:在给定的LatLng上是否存在地标?

时间:2011-08-17 21:31:39

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

如果标记已放置在给定LatLng的Google地图上,我想找出使用​​API​​的方法。如果没有我保存放置地标的所有latlng,这可能吗?

2 个答案:

答案 0 :(得分:1)

没有。 API不会跟踪您的标记,因此您需要自己跟踪它们。我建议将每个位置添加到一个数组,然后编写一个函数,该函数可以检查该数组中的任何标记是否位于特定的纬度/经度。

类似的东西:

var marker_locations = [];

function addMarker(latlng) {
   marker = new google.maps.Marker(....);
   marker.setMap(map);
   marker_locations.push(latlng);
}

function markerAtPoint(latlng) {
  for (var i = 0; i < marker_locations.length; ++i) {
    if (marker_locations[i].equals(latlng)) return true;
  }
  return false;
}

答案 1 :(得分:0)

尝试使用map.getBounds().contains(marker.getPosition())并将getPosition()替换为您的latlng。我没有测试过这个。