我刚刚用 Wordpress 创建了一个动态谷歌地图。
现在我正在寻找一种方法,在我在谷歌地图上生成所有点之后,重新居中/缩放地图以将所有生成的点放入容器中,比如说,每边都有 10% 的边距。
我搜索了 API 并没有找到看起来有帮助的东西。
有没有办法做到这一点,还是我需要一个片段?
PS:我正在使用带有 Javascript 的 API V3(通过 PHP 填充地图)。
我刚刚用 Wordpress 创建了一个动态谷歌地图。
现在我正在寻找一种方法,在我在谷歌地图上生成所有点之后,重新居中/缩放地图以将所有生成的点放入容器中,比如说,每边都有 10% 的边距。
我搜索了 API 并没有找到看起来有帮助的东西。
有没有办法做到这一点,还是我需要一个片段?
PS:我正在使用带有 Javascript 的 API V3(通过 PHP 填充地图)。
您必须循环标记数组并扩展边界。此示例假定您之前使用添加到地图的每个标记填充了一个标记[] 变量。
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);
基本上,您需要一个坐标列表,例如:
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);