2013-10-14 86 views
0

有沒有辦法在openlayers中讀取geojson並轉換爲WKT格式,我的問題是,當我添加多個geojson作爲矢量圖層時,它們不會顯示爲一個圖層, kindly tell我怎麼顯示多個以GeoJSON作爲一個載體層的一部分,我的代碼是openlayers geojson讀爲wkt

for (var i = 0; i < content.GeoJsonFiles.length; i++) { 
    //color = content.Settings.BreakStyles[totalcolor].Color; 
    //totalcolor++; 
    var id = content.GeoJsonFiles[i]; 
    // alert(content.GeoJsonFiles[i]); 
    var geojson_layer = new OpenLayers.Layer.Vector("GeoJSON", { 
     strategies: [new OpenLayers.Strategy.Fixed()], 
     protocol: new OpenLayers.Protocol.HTTP({ 
     url:'i.geojson' , 
     format: new OpenLayers.Format.GeoJSON({}) 
     }), renderers: ["Canvas", "SVG", "VML"] 
    }); 
    map.addLayer(geojson_layer); 
} 

回答

1
  • 'i.geojson'將始終評估爲「i.geojson」的字符串,不管什麼i值。你可能想content.GeoJsonFile[i].content,假設content實際上包含的網址,而不是原始數據以GeoJSON
  • 你正在創建一個新的矢量層並將其添加到每個循環迭代的地圖。什麼你得到(「他們不出現一層」)正是你告訴代碼來執行。的需要而不是做了什麼

高級大綱(假設.content包含原始GeoJSON的,我懷疑是這種情況):

var geoJsonLayer = new OpenLayers.Layer.Vector("GeoJSON", { 
    // layer options 
}); 

for (var i = 0; i < content.GeoJsonFiles.length; i++) { 
    var feature = content.GeoJsonFiles[i].content; 
    geojsonLayer.addFeatures([feature]); 
} 

map.addLayer(geoJsonLayer); 

你需要澄清content.GeoJsonFiles實際上包含什麼WKT擁有這一切做的更精確的答案。