Я использую openLayers и создаю базовый слой OSM. По умолчанию слой использует EPSG: 900913, а координаты - в метрах. Я хочу использовать координаты в градусах с EPSG: 4326, так что я initilize слоя:Использование OSM и EPSG: 4326 с openlayers увеличивают широту в около 90 градусов. Зачем?
base_layer.addOptions({ sphericalMercator: true,
projection: new OpenLayers.Projection('EPSG:4326')}, true);
Теперь карта использует градусы, но есть следующая проблема: Точка с широтой и долготой 37.296 -5.929 (http://www.openstreetmap.org/?lat=37.296&lon=-5.929&zoom=12&layers=Q# и теми же координатами в Картах Google) мне кажется (перемещение карты и выполнение map.getCenter()
в firebug) в лат. -49,75, лон. -5,929.
Почему? Как я могу использовать слой OSM с одинаковыми координатами градусов, как в openstreetmap.org
, и как возвращается nominatim.openstreetmap.org
?
Я вижу. Я думал, что если я объявлю EPSG: 4226 openLayers преобразует координаты вместо того, чтобы делать это сам. Преобразовать явно каждую координату в любое время, когда я использую set/getCenter, не требуется. – francadaval