有没有办法在openlayers中读取geojson并转换为WKT格式,我的问题是当我添加多个geojson作为矢量图层时,它们不会显示为一个图层, 请告诉我如何将多个geojson显示为单个矢量图层的一部分,我的代码是
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);
}
答案 0 :(得分: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与所有这些内容的关系,以获得更准确的答案。