2011-10-09 127 views
1

这是我的GeoJSON结果。 PasteBin 但是,当我加载它,我得到的萤火虫的结果是功能为null。为什么呢,我的结果有没有错误? JSON中的坐标是用投影WGS84编写的,在代码中,我也将externalProjection设置为WGS84。那么为什么我会得到“功能为空”的返回? 我用它来管理我的地图代码:OpenLayers => feature is null

$(document).ready(function() { 
var wgs84 = new OpenLayers.Projection('EPSG:4326'); 
var layer = null; 
var map = new OpenLayers.Map('map',{projection: wgs84}); 
    layer = new OpenLayers.Layer.OSM("Simple OSM Map"); 
    var baseProjection = layer.projection; 
    map.addLayer(layer); 
    map.setCenter(new OpenLayers.LonLat(10,10), 4); 
    map.events.register("moveend", null, function(){ 

     if(map.zoom == 10) 
     { 
     var bounds = map.getExtent(); 
     console.log(bounds); 
     var ne = new OpenLayers.LonLat(bounds.right,bounds.top).transform(map.getProjectionObject(),wgs84); 
     var sw = new OpenLayers.LonLat(bounds.left,bounds.bottom).transform(map.getProjectionObject(),wgs84); 
     var vectorLayer = new OpenLayers.Layer.Vector(); 
     map.addLayer(vectorLayer); 
     $.getJSON('ajax.php?a=markers&type=json&sw=('+sw.lon+','+sw.lat+')&ne=('+ne.lon+','+ne.lat+')',function(data){ 
     //$.getJSON('test.json',function(data){ 
      var geojson_format = new OpenLayers.Format.GeoJSON({ 
       'externalProjection': wgs84, 
       'internalProjection': baseProjection 
       }); 
      vectorLayer.addFeatures(geojson_format.read(data)); 
     }); 
     } 
    }); 
}); 

回答

2

你的样品OpenLayer代码工作正常,问题出在你以GeoJSON:你拼错坐标“coordninates”