我遇到了问题。我有一系列经销商的位置。它被称为locations
。每组中的第一项是纬度,每组中的最后一项是经度。我正确地找回了包含所有位置的地图,除了它放大其中一个位置。它必须是有界限的东西,但我不确定是什么。有人可以帮忙吗?谢谢。
这是我的代码:
var map = new google.maps.Map(document.getElementById('map'), {
mapTypeId: google.maps.MapTypeId.ROADMAP
});
var marker, i;
if (locations.length > 1) {
var bounds = new google.maps.LatLngBounds();
for (i = 0; i < locations.length; i++) {
marker = new google.maps.Marker({
position: new google.maps.LatLng(locations[i][0], locations[i][1]),
map: map
});
}
bounds.extend(marker.getPosition());
map.fitBounds(bounds);
答案 0 :(得分:2)
我认为你想在for循环中使用bounds.extend
。我看到它的方式,它只采取一个标记的位置。
答案 1 :(得分:0)
似乎你的代码得到了最后一个标记的位置,并对地图说出适合的标记。你可以用
做到这一点bounds.extend(marker.getPosition());
map.fitBounds(bounds);
如果你想适合所有的标记,那就放
bounds.extend(m[i]);
在标记之后的for循环中。
类似的答案解释得更好:Google Maps v3 API Extend Bounds. Javascript How-To?