Google maps GoogleMapAPIv3-Map.fitBounds(bounds)导致超出最大调用堆栈大小错误

Google maps GoogleMapAPIv3-Map.fitBounds(bounds)导致超出最大调用堆栈大小错误,google-maps,google-maps-api-3,Google Maps,Google Maps Api 3,我正在使用GoogleMapsAPIv3,从一个数组中绘制标记。我正在尝试居中并缩放到标记。我遇到的问题是,一旦我尝试使用这条线路: map.fitbunds(边界) 我得到这个错误: 未捕获范围错误:超过最大调用堆栈大小 当我在fitBounds线外添加注释时,一切正常,标记已打印,尽管地图未正确居中和缩放。我构建此代码的方式是否存在可能导致错误的错误 function setMarkers(map, data) { var bounds = new google.maps.LatLngB

我正在使用GoogleMapsAPIv3,从一个数组中绘制标记。我正在尝试居中并缩放到标记。我遇到的问题是,一旦我尝试使用这条线路:

map.fitbunds(边界)

我得到这个错误:

未捕获范围错误:超过最大调用堆栈大小

当我在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
}           
函数设置标记(地图、数据){
var bounds=new google.maps.LatLngBounds();
对于(变量i=0;i
当我警告
边界的值时
,其中一个纬度或经度值可能为空。这可能是错误的原因吗

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
}           

您要创建多少个标记?他们中是否有人的纬度或经度值不正确(例如超出正常范围)?调用map.fitBounds时边界值是多少?谢谢@duncan和@geocodezip。我只创建了大约50个标记。我编辑了问题以显示
边界的值
,似乎至少有一个lat-lon值为空。也许这就是错误的根源?几乎可以肯定。从数据中删除该标记,然后再次测试。如果这是一种可能的情况,您可能需要在创建每个标记之前进行一些错误检查。谢谢@duncan,您是对的。一旦我过滤掉不完整或缺少lat-lon值的记录,错误就消失了。非常感谢你的帮助。干杯