Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 29.11.2011, 15:28
Новичок на форуме
Отправить личное сообщение для Vagolo Посмотреть профиль Найти все сообщения от Vagolo
 
Регистрация: 29.11.2011
Сообщений: 1

OpenLayers: проекция отдельного VectorLayer как в GoogleEarth
Необходимо в векторном слое, который единственный и базовый, отобразить полигон (данные из KML-файла, созданного в GoogleEarth).
Собственно полигон отображается, но сжатым по вертикали. По всей видимости проблема в проекции...
Но если подключить базовым слоем Google, затем векторный слой с этим же KML-файлом, то все отображается без искажений.
Ниже приведен код с Google и векторным слоями:

var geographic = new OpenLayers.Projection("EPSG:4326");
var mercator = new OpenLayers.Projection("EPSG:900913");
var lon = (lonMax-lonMin)/2+lonMin;
var lat = (latMax-latMin)/2+latMin;
var bounds = new OpenLayers.Bounds(lonMin, latMin, lonMax, latMax);
bounds.transform(geographic,mercator);

var zoom = 12;
var options = {
	projection: mercator,
	displayProjection: geographic,
	maxExtent: bounds
};

map = new OpenLayers.Map('map_element', options);

var layer = new OpenLayers.Layer.Google(
             'Google'
             ,{
               type: google.maps.MapTypeId.HYBRID
               ,numZoomLevels: 20
               ,'sphericalMercator': true
              }
);

map.addLayer(layer);

var myKML = new OpenLayers.Layer.GML(
  "KML layer",
  "kml/kml01.kml", 
  {
   format: OpenLayers.Format.KML,
   projection: map.displayProjection
  }
);
map.addLayer(myKML);

var proj = geographic;
var point = new OpenLayers.LonLat(lon, lat);
map.setCenter(point.transform(proj, map.getProjectionObject()), zoom);


Как отобразить kml01.kml в браузере с помощью OpenLayers без искажения? Помогите, плз!
Ответить с цитированием
  #2 (permalink)  
Старый 29.02.2012, 13:00
Новичок на форуме
Отправить личное сообщение для vdann Посмотреть профиль Найти все сообщения от vdann
 
Регистрация: 29.02.2012
Сообщений: 8

Самый простой вариант скрыть или может даже удалить слой Google после инициализации
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск