我在OpenLayers 2项目中有这个结构:
var pois = new OpenLayers.Layer.Text( "Románské kostely", {
location:"./kostely.tsv",
projection: map.displayProjection
});
map.addLayer(pois);
实际上,我可以轻松地从TSV文件创建一个新图层,这也是我开始玩OpenLayers的原因之一。
我现在已将此作为OpenLayers 3的端口:
new ol.layer.Vector({
title: "Románské kostely",
source: ol.source.Vector({
format: new ol.format.TextTSV(),
url: "kostely.tsv"
}),
style: new ol.style.Style({
image: new ol.style.Icon({
src: "Ol_icon_blue.png"
})
})
})
除了,显然没有ol.format.TextTSV()
。我在API中找到的最好的结构是GeoJSON
等更复杂的结构。
是否有人为OpenLayers 3
API创建了等效函数?或者从旧的TSV文件到某种支持的格式是否存在转换器?
答案 0 :(得分:0)
您是否尝试过WKT格式
var format = new ol.format.WKT();
答案 1 :(得分:0)
它应该可以使用MapBox提供的csv2geojson库(将CSV / TSV转换为GeoJSON),并使用ol.source.Vector
使用ol.format.GeoJSON
。
我制作了an example来说明这个用例(比你预期的解决方案更复杂)。我没有为演示的风格而烦恼,我也只使用Vanilla JS(它意味着“纯JavaScript”,没有第三方库)来进行Ajax调用。
如果您确实需要new ol.format.TextTSV()
,则需要对核心库进行自己的扩展。您也可以在mailing list询问是否在项目路线图上。