У меня есть массив Lat Longs в массиве с именем lat_longs
(который выглядит так: [[39.749318, -104.9701129], [..], [..]]
), я пытаюсь построить их в OpenStreetMap с использованием Open Layers 3. Здесь код у меня есть -Open Layers 3 - Convert Lat Long to Point
var icon_features = [];
$.each(lat_longs, function(index, item){
var point = new ol.geom.Point(item);
point.transform('EPSG:4326', 'EPSG:900913');
// I tried it the other way too, but doesn't seem to work
var iconFeature = new ol.Feature({
geometry: point,
name: item.name
});
icon_features.push(iconFeature);
});
var vectorSource = new ol.source.Vector({
features: icon_features
});
var vectorLayer = new ol.layer.Vector({
source: vectorSource
});
var view = new ol.View({
center: [0,0],
zoom: 2
});
var map = new ol.Map({
layers: [
new ol.layer.Tile({
source: new ol.source.OSM()
}),
vectorLayer
],
target: 'map',
controls: ol.control.defaults({
attributionOptions: ({
collapsible: false
})
}),
view: view
});
по какой-то причине, как представляется, либо откладывая расположение вблизи Африки или не откладывая место на всех.
Как исправить это?
я нашел коды делать прогнозы и трансформирует в открытых слоев 2. Не удалось точно найти, как это сделать в открытых слоев 3.
Примечание: я получил это работает с tsauerwein комментарий «s , Но обратите внимание, я должен был преобразовать точку из EPSG:4326
в EPSG:900913
Являются ли координаты '[lat, lon]' или '[lon, lat]'? ol3 ожидает '[lon, lat]'. – tsauerwein
Ah .. Они [lat, lon] .. Позвольте мне попробовать инвертировать их с помощью разных EPSG. –
Хорошо, реверсирование их работало как шарм! Можете ли вы опубликовать его в качестве ответа? Надеюсь, это поможет кому-то. –