【问题标题】:How can I draw marker on google maps in specified boundary?如何在指定边界的谷歌地图上绘制标记?
【发布时间】:2011-09-20 05:02:23
【问题描述】:

我想在谷歌地图上画标记。标记数据来自 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());

我不能再进步了..

请提供一些示例网址或帮助..

【问题讨论】:

    标签: json google-maps boundary


    【解决方案1】:

    因此,您已经获得了某种边界的 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)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-29
      • 1970-01-01
      • 2017-08-17
      • 1970-01-01
      • 2011-01-20
      • 2020-02-25
      相关资源
      最近更新 更多