2011-12-17 4 views
2

Я создаю приложение GIS в geoDjango с OpenLayers и используя данные PostGIS в проекции EPSG: 3908. Базовым уровнем является OSM. Когда я добавляю векторные данные, я получил его в Бразилии вместо Боснии. Я пробовал все, но просто не могу получить решение.векторная проекция в OpenLayers

Пожалуйста, кто-нибудь может помочь?

var map, osm, google, kml; 
function init(){ 

     map = new OpenLayers.Map('map'); 

     map.addControl(new OpenLayers.Control.LayerSwitcher()); 

     var osm = new OpenLayers.Layer.OSM(
      "OSM"); 

     kml = new OpenLayers.Layer.GML("KML", upit, 
      {format: OpenLayers.Format.KML, 
      projection: new OpenLayers.Projection("EPSG:3908")}); 

     map.addLayers([osm, kml]); 

     map.zoomToExtent(
      new OpenLayers.Bounds(15.774414, 42.6, 19.662109, 45.2).transform(new OpenLayers.Projection("EPSG:4326"),new OpenLayers.Projection("EPSG:900913"))); 

ответ

1

OpenLayers and Proj4js doc

При выполнении преобразования, необходимо проверить параметр isReady перед вызовом transform. Это связано с тем, что вы должны обеспечить загрузку определений ваших прогнозов.

Определите свои объекты трансформации (4326 и 900913) и проверьте, готовы ли они, затем выполните преобразование. Если они не готовы, явным образом ссылаюсь на соответствующие файлы определения Proj4js в вашем html-файле.

Смежные вопросы