Json OpenLayers-2.13。getDataExtent()返回null

Json OpenLayers-2.13。getDataExtent()返回null,json,openlayers,markers,Json,Openlayers,Markers,我正在使用OpenLayers。我正在使用Javascript和PHP实现同样的功能 我从数据库中获取标记位置(在地图上)。我返回了一个包含所有标记位置的JSON对象,并在javascript文件中循环所有标记位置 标记定位正常,但最终当我希望地图缩放到所有标记的边界时,地图会无限缩放。谁能在这个话题上给我一些帮助,最好是一些示例代码 我的代码片段是这样的: $.getJSON('contactDB.php', function(items) { for (var i = 0; i <

我正在使用OpenLayers。我正在使用Javascript和PHP实现同样的功能

我从数据库中获取标记位置(在地图上)。我返回了一个包含所有标记位置的JSON对象,并在javascript文件中循环所有标记位置

标记定位正常,但最终当我希望地图缩放到所有标记的边界时,地图会无限缩放。谁能在这个话题上给我一些帮助,最好是一些示例代码

我的代码片段是这样的:

$.getJSON('contactDB.php', function(items)
{

  for (var i = 0; i < items.length; i++) 
  {
    (function(item) 
    {

      var lonlat = new OpenLayers.LonLat(item.lon, item.lat).transform(
          new OpenLayers.Projection("EPSG:4326"),
          map.getProjectionObject());

      markers.addMarker(new OpenLayers.Marker(lonlat, icon.clone()));


    })(items[i]);
  }
});

map.addLayer(markers);
var newBounds = markers.getDataExtent();
alert(newBounds);
map.zoomToExtent(newBounds);
$.getJSON('contactDB.php',函数(项)
{
对于(变量i=0;i
尝试以下方法:

layer.events.register("loadend", layer, function() { 
    map.zoomToExtent(layer.getDataExtent()); 
});