Google地图会计算地图的可见部分

时间:2016-07-19 16:50:44

标签: google-maps google-maps-markers

好的,我对谷歌地图的一个简单问题 想象一下,用户在桌面上滚动屏幕一半的地图。因此,只有一半的地图在屏幕上可见 如何计算哪个部分是可见的,所以我可以在地图的可见部分的中心放置一个标记?

所以如果你看看这个: http://jsfiddle.net/Honkoman/ghzgdLhw/

并按如下方式缩放浏览器窗口:

enter image description here 你看到按下"运行"将标记设置在地图的可见中间。

那是因为map.getCenter使用画布尺寸,而不是地图的可见部分。那怎么办呢?

  var marker = new google.maps.Marker({
    position: map.getCenter(),
    map: map
  });

1 个答案:

答案 0 :(得分:0)

您可以使用

 map.getBounds() 
  

返回当前视口的lat / lng范围。如果不止一个   世界的副本是可见的,经度范围从-180到经度   到180度包括在内。

获取可见地图的坐标

或直接您可以使用getCenter

map.getCenter();

和标记

   var marker = new google.maps.Marker({
      position: map.getCenter(),
      map: map,
      title: 'Hello World!'
    });
  }

对于绑定,您可以使用此tecnique

    aNord   =   map.getBounds().getNorthEast().lat();   
    aEst    =   map.getBounds().getNorthEast().lng();
    aSud    =   map.getBounds().getSouthWest().lat();   
    aOvest  =   map.getBounds().getSouthWest().lng();