1

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

现在我正在寻找一种方法,在我在谷歌地图上生成所有点之后,重新居中/缩放地图以将所有生成的点放入容器中,比如说,每边都有 10% 的边距。

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

有没有办法做到这一点,还是我需要一个片段?

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

4

2 回答 2

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);
于 2012-10-02T20:23:37.730 回答
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);
于 2012-10-02T20:26:44.370 回答