我正在使用谷歌地图的 V3 版本,并且想知道如何去做——我有一个数组,google.maps.Markers它们的LatLng位置已经设置好了。
我想遍历数组并找到标记的最小/最大纬度和经度值,并将地图居中并调整大小,使所有标记都适合屏幕,并带有一个小的软糖因子。
循环遍历我可以处理的标记数组,但我不确定如何将地图居中并调整其大小以适应所有地图(周围有一个小的边界区域,因此没有标记与边缘齐平。)
我不确定这是否有帮助或重要,但<div>地图所在的位置是 320x200 像素。
我正在使用谷歌地图的 V3 版本,并且想知道如何去做——我有一个数组,google.maps.Markers它们的LatLng位置已经设置好了。
我想遍历数组并找到标记的最小/最大纬度和经度值,并将地图居中并调整大小,使所有标记都适合屏幕,并带有一个小的软糖因子。
循环遍历我可以处理的标记数组,但我不确定如何将地图居中并调整其大小以适应所有地图(周围有一个小的边界区域,因此没有标记与边缘齐平。)
我不确定这是否有帮助或重要,但<div>地图所在的位置是 320x200 像素。
您可以创建一个函数,如
function setBounds() {
var bounds = new google.maps.LatLngBounds();
for (var i=0; i < markersArray.length; i++) {
bounds.extend(markersArray[i].getPosition());
}
map.fitBounds(bounds);
}
就如此容易!
请参阅google.maps.Map fitBounds 方法
将标记的所有位置添加到一个空的google.maps.LatLngBounds对象,然后在其上调用 fitBounds。
var bounds = new google.maps.LatLngBounds();
for (var i=0; i < yourArrayOfMarkers.length; i++) {
bounds.extend(yourArrayOfMarkers[i].getPosition();
}
yourMap.fitBounds(bounds);