适合添加到地图的所有点

时间:2012-10-02 20:18:05

标签: javascript google-maps google-maps-api-3

我刚用Wordpress创建了一个动态谷歌地图。

现在我正在寻找一种方法,在我在谷歌地图上产生所有点之后,重新居中/缩放地图以适应所有产生的点到容器中,比方说,每边都有10%的余量

我搜索了API并没有找到看起来有用的东西。

有没有办法做或者我需要一个片段?

PS:我正在使用带有Javascript的API V3(通过PHP填充地图)。

2 个答案:

答案 0 :(得分:4)

您必须循环标记数组并扩展边界。此示例假定您之前填充的标记[]变量,每个标记都添加到地图中。

var bounds = new google.maps.LatLngBounds(),
    markerIndex = 0;
for (markerIndex; markerIndex < markers.length; markerIndex++) {
    var marker = this.markers[markerIndex];
    bounds.extend(marker.position);
}
map.fitBounds(bounds);

答案 1 :(得分:1)

基本上,您需要一个坐标列表,例如:

var LatLngList = array(new google.maps.LatLng(52.537,-2.061), new google.maps.LatLng(52.564,-2.017));

LatLngBounds的实例:

var bounds = new google.maps.LatLngBounds();

将每个LatLng扩展到此实例:

for (var i = 0, LtLgLen = LatLngList.length; i < LtLgLen; i++) {
  bounds.extend(LatLngList[i]);
}

fitBounds()

map.fitBounds(bounds);