OpenLayers => функция является нулевой - PullRequest
1 голос
/ 09 октября 2011

Это мой результат GeoJSON. PasteBin Но когда я загружаю его, результат, который я получаю в firebug, является нулевымПочему так, есть ли ошибки в моем результате?Координаты в JSON записаны в проекции WGS84, а в коде я также установил externalProjection как WGS84.Итак, почему я получаю возвращаемое «функция нулевая»?Код, который я использую для управления моей картой:

$(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));
        });
        }
    });
});

1 Ответ

2 голосов
/ 12 октября 2011

Ваш пример кода OpenLayer работает правильно, проблема в вашем GeoJSON: вы неправильно написали координаты как "координаты"

...