0

可能重复:
中心地图和缩放以适应屏幕上的标记

我只是在写一个使用谷歌地图的应用程序。该应用程序将多个点添加到地图中。添加后,我希望能够将地图集中在这些多个点上,但不知道如何。

到目前为止,我的倾向是执行以下操作:

  1. 添加点时,跟踪最小经度、最大经度、最小纬度、最大纬度
  2. 计算平均经度,平均纬度

所以..现在我知道如何找到我的地图中心了。

有谁知道我将如何计算缩放?

4

2 回答 2

3

将位置添加到空的google.maps.LatLngBounds对象。

在结果边界上调用google.maps.Map.fitBounds 。

伪代码(未经测试,假设您的标记位于名为 gmarkers 的范围内的数组中,假设您的 google.maps.Map 对象称为“map”):

var bounds = new google.maps.LatLngBounds();
for (var i = 0; i < gmarkers.length; i++) 
{
   bounds.extend(gmarkers[i].getPosition());
}
map.fitBounds(bounds);
于 2013-02-04T21:23:36.663 回答
0

如果您提前知道点(标记),而不是将所有中心的点设置为 setCenter 标记点并休息为标记并设置 Zoomlevel

如果您事先不知道点并且知道位置(例如特定的州或县或地区)而不是获取它的中心点获取它的纬度/经度并将该点设置为 setCenter 标记点,请相应地设置缩放级别并添加标记(点)。

于 2013-02-04T21:26:40.470 回答