如何在指定边界的谷歌地图上绘制标记?

时间:2011-09-20 05:02:24

标签: json google-maps boundary

我想在谷歌地图上绘制标记。标记数据来自JSON。(来自json文件,而不是来自数据库),所有数据都有几何(纬度,经度)

重要的是当我拖动谷歌地图时,浏览器会显示一些边界。

然后标记必须仅在显示的地图上显示。

再次拖动贴图后,标记将重置并在新边界中显示新标记。

google.maps.event.addListener(map, 'dragend', function(event) {
  var bd = map.getBounds();
  var ne = bd.getNorthEast();
  var sw = bd.getSouthWest();
  var nw = new google.maps.LatLng(ne.lat(), sw.lng());
  var se = new google.maps.LatLng(sw.lat(), ne.lng());

我再也无法前进了......

请举一些示例网址或帮助..

1 个答案:

答案 0 :(得分:0)

所以你已经获得了某种边界的4个角点,你想在那里放一个标记。所以你有一堆标记,但你只想绘制那些落在当前范围内的标记。

这样的事情可能有用:

var latlng = new google.maps.LatLng(54.42838,-2.9623);
var marker = new google.maps.Marker({
    position: latlng, 
});

if (bd.contains(latlng)) {
    marker.setMap(map);
}

对于任何超出界限的标记,您可能需要setMap(null)