相当于旧 OpenLayers.Layer.Text
Equivalent of the old OpenLayers.Layer.Text
我在 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 文件到某种受支持格式的转换器?
你试过WKT格式吗
var 格式 = 新 ol.format.WKT();
它应该通过使用 MapBox 提供的 csv2geojson 库(将 CSV/TSV 转换为 GeoJSON),结合使用 ol.format.GeoJSON
.[=16= 的 ol.source.Vector
来工作]
我制作了 an example 来说明这个用例(比您预期的解决方案更复杂)。我没有在意演示的样式,而且我也只使用 Vanilla JS(这意味着 "pure JavaScript",没有第三方库)进行 Ajax 调用。
如果您确实需要 new ol.format.TextTSV()
,则需要对核心库进行自己的扩展。您也可以在 mailing list 上询问它是否在项目路线图上。
我在 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 文件到某种受支持格式的转换器?
你试过WKT格式吗
var 格式 = 新 ol.format.WKT();
它应该通过使用 MapBox 提供的 csv2geojson 库(将 CSV/TSV 转换为 GeoJSON),结合使用 ol.format.GeoJSON
.[=16= 的 ol.source.Vector
来工作]
我制作了 an example 来说明这个用例(比您预期的解决方案更复杂)。我没有在意演示的样式,而且我也只使用 Vanilla JS(这意味着 "pure JavaScript",没有第三方库)进行 Ajax 调用。
如果您确实需要 new ol.format.TextTSV()
,则需要对核心库进行自己的扩展。您也可以在 mailing list 上询问它是否在项目路线图上。