1

これは私のGeoJSONの結果です。PasteBin しかし、私がそれをロードすると、firebugで得られる結果は機能がnullです。それはなぜですか、私の結果にエラーはありますか?JSONの座標はプロジェクションWGS84で記述されており、コードではexternalProjectionもWGS84として設定しています。では、なぜ「機能が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));
        });
        }
    });
});
4

1 に答える 1

2

サンプルのOpenLayerコードは正しく機能していますが、問題はGeoJSONにあります。座標のつづりを座標」として間違えています。

于 2011-10-12T12:33:42.417 に答える