Я пытаюсь нарисовать некоторые простые фигуры (в основном линии) на карте Open Street с использованием OpenLayers 3. Используемый мной код почти непосредственно скопирован с example на их сайте, но это не работает для меня.OpenLayers не может нарисовать geoJSON на карте
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 показывая проблему, чтобы позволить другим исследовать. – kryger
Не забывайте, что координаты на вашем geojson должны быть в EPSG: 3857, и эта проекция должна быть определена в вашем json, как в примере. В противном случае вы можете указать опции в объекте формата для перепрограммирования данных, см. Api: http://openlayers.org/en/master/apidoc/ol.format.GeoJSON.html. – oterral