我正在使用Google Maps API V3,从数组中绘制标记。我试图使中心和缩放到标记。我遇到的问题是,一旦我尝试使用这一行:
map.fitBounds(bounds);
我收到此错误:
Uncaught RangeError: Maximum call stack size exceeded
当我注释掉fitBounds行时,一切正常并且标记被绘制,尽管地图没有居中并且缩放正确。我构造此代码的方式是否有问题可能导致错误?
function setMarkers(map, data) {
var bounds = new google.maps.LatLngBounds();
for (var i = 0; i < data.length; i++) {
var salecomp = data[i];
var myLatLng = new google.maps.LatLng(data[i].latitude, data[i].longitude);
var marker = new google.maps.Marker({
position: myLatLng,
map: map,
title:data.address });
bounds.extend(myLatLng);
}
map.fitBounds(bounds); // THIS IS THE LINE CAUSING THE ERROR
}
当我提醒bounds
的值时,似乎其中一个纬度或经度值可能为空。这可能是错误的原因吗?