我正在使用V3版本的谷歌地图,并想知道如何解决这个问题 - 我有一个google.maps.Markers
数组,其LatLng
位置设置。
我想循环遍历数组并找到标记的最小/最大纬度和经度值,并居中并调整地图大小,以便所有标记都适合屏幕,并具有较小的软糖因子。
循环通过我可以处理的标记数组,但是我不确定如何对齐地图并调整地图大小以适应它们(周围有一个小的边界区域,因此没有标记与边缘齐平。)< / p>
我不确定这是否有帮助或重要,但地图所在的<div>
是320x200像素。
答案 0 :(得分:12)
您可以创建类似
的功能function setBounds() {
var bounds = new google.maps.LatLngBounds();
for (var i=0; i < markersArray.length; i++) {
bounds.extend(markersArray[i].getPosition());
}
map.fitBounds(bounds);
}
就这么简单!
答案 1 :(得分:5)
请参阅the google.maps.Map fitBounds method
将标记的所有位置添加到空的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);