【发布时间】:2016-04-23 20:41:46
【问题描述】:
我正在尝试使用 OpenLayers 3 在 Open Street Map 上绘制一些简单的形状(主要是线条)。我使用的代码几乎是直接从他们网站上的 example 复制而来,但似乎没有为我工作。
var vectorSource = new ol.source.Vector({
features: (new ol.format.GeoJSON()).readFeatures(arr[i].geoJSON)
});
var vectorLayer = new ol.layer.Vector({
source: vectorSource,
style: styleFunction
});
map.addLayer(vectorLayer);
其中styleFunction 与示例中的函数相同,arr[i].geoJSON 是完全有效的 geoJSON 对象。
问题是,它没有绘制任何东西。我做错了什么?
【问题讨论】:
-
看来您需要创建一个显示问题的 JSFiddle 以便其他人进行调查。
-
不要忘记 geojson 上的坐标必须在 EPSG:3857 中,并且这个投影必须像示例中一样在您的 json 中定义。否则,您可以在格式对象中指定选项以重新投影数据,请参阅 api:openlayers.org/en/master/apidoc/ol.format.GeoJSON.html
标签: javascript openstreetmap openlayers-3