Я участвую в проекте карты с ol3 (v 3.10) Я изменил проекцию моей карты (я думаю) на «epsg 4258», которая является ETRS89.Почему openlayers возвращает проецируемые координаты на карте?
var customExtent = [-0.6172644,39.3868231,-0.43508204,39.44951748];
var etrs89 = new ol.proj.Projection({
code: 'EPSG:4258',
// The extent is used to determine zoom level 0. Recommended values for a
// projection's validity extent can be found at http://epsg.io/.
extent: customExtent,
units: 'degrees'
});
Теперь я настраиваю карту с этой проекцией.
var map = new ol.Map({
controls: ol.control.defaults({
attributionOptions: /** @type {olx.control.AttributionOptions} */ ({
collapsible: false,
units: 'degrees'
})
}).extend([mousePositionControl,new ol.control.FullScreen()]),
target: 'map',
view: new ol.View({
center: ol.proj.fromLonLat([-0.4685, 39.4315]),
zoom: 14
}),
layers: [
ortofoto,
muni_torrent
]
});
наконец щелчок слушатель выглядит следующим образом:
var onclick = function(e){
alert(e.coordinate);
};
map.on('click', onclick);
выход я получаю это:
[-53391.90122271185, 4785457.359197952]
, но я ожидал что-то вроде:
[-0.4, 39.9]
Я также попробовал следующее с тем же результатом :
var onclick = function(e){
var lonlat = map.getCoordinateFromPixel(e.pixel)
alert('longitud: ' + lonlat[0]+ '; latitud: ' + lonlat[1]);
};
Похоже, что событие клика не выводит координаты в проекции карты. Некоторые идеи? Любая помощь будет оценена по достоинству.
Вы просите о помощи и получили его, теперь самое время дать отзыв. –