根据位置列表计算初始最佳中心和最佳初始缩放

时间:2010-11-03 09:05:08

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

亲爱的。我在编码时非常新,所以要好好。

我有一个位置列表(lat& lng),可能真的在任何地方(即:所有在同一个城市;一个在孟加拉国,一个在巴黎......)。

初始化谷歌地图时,我想以这些位置的重心为中心。

所以这是我的第一个问题:如何计算带位置对象的重心

然后,我还希望初始地图显示所有位置(标记)。所以这是缩放问题,这是我的第二个问题:如何计算谷歌地图中的缩放,以便显示地图上的所有标记

我希望我已经清楚了。另外,请注意我的意思是重心,所有点数都为1。

最好的问候。

1 个答案:

答案 0 :(得分:4)

要缩放以包含一组结果:

var locations = new google.maps.LatLngBounds();
...
function zoomToViewports(locations) {
  var bounds = new google.maps.LatLngBounds();

  for (var i in locations) {
    bounds.union(locations[i].geometry.viewport);
  }
  map.fitBounds(bounds);
}

完成后,重心位于屏幕的中间,所以如果你真的需要它的值,它很容易计算[(max(lat)-min(lat)/ 2,(max(lng)-min(lng) )/ 2]

HTH?

欢迎您从this page on my website解除JS,这就是您所描述的