2014-11-15 5 views
0

У меня есть следующие очень простой код:OpenLayers 3 Создание карты не центрирующие

@map_center = [-32.951106, -60.669952] 
@map = new ol.Map({ 
     target: 'map-canvas', 
     layers: [new ol.layer.Tile({source: new ol.source.OSM()})], 
     view: new ol.View({ 
      center: @map_center, 
      zoom: 5 
     }) 
    }) 

Это в CoffeeScript, но вы получите идею. Проблема в том, что карта не сосредоточена вообще. Он застревает в [0, 0] Я делаю что-то неправильно?

ответ

2

По умолчанию проекция вида - Web Mercator (EPSG: 3857). Это означает, что координаты центра обзора должны быть выражены в этой проекции.

Если у вас есть широты и долготы, вы можете использовать функцию ol.proj.transform, чтобы преобразовать долготы широт в координаты Web Mercator. Например:

var view = new ol.View({ 
    zoom: 4, 
    center: ol.proj.transform([-60, -32], 'EPSG:4326', 'EPSG:3857') 
}); 
+0

Спасибо! Я, наконец, перешел в листок ... охватил все приложение за долю времени, необходимого – Alvaro