WMS слои на план-схеме, масшатбирование и Google Maps
Добавлено: 05 июл 2008, 09:01
Коллеги!
У меня такая проблема: создано несколько слоев в GeoServer в системе координат EPSG:4326. С использованием OpenLayers не получается эти слои отобразить на плоскости, т.е. визуально объекты как бы "приплюснуты". Но, если эти WMS слои наложить на Google, то они отображаются именно в плоскости (но только при одном масштабе!).
При изменении масштаба WMS слои не отображаются и управление ими блокируется.
Вот кусочек кода клиента:
var bounds = new OpenLayers.Bounds(
60.5988502502441, 56.832691192627,
60.6119728088379, 56.8392524719238
);
var options = {
controls: [],
maxExtent: bounds,
maxResolution: 'auto',
units: 'degrees',
minZoomLevel: 3,
maxZoomLevel: 9,
numZoomLevels: 19
};
map = new OpenLayers.Map('map', options);
...
var gsat = new OpenLayers.Layer.Google(
"Google Satellite",
{type: G_SATELLITE_MAP}
);
var bld_overlay = new OpenLayers.Layer.WMS(
"WMS layer",
wms_srv_url,
{
layers: 'demo:border,demo:lands',
tiled: 'true',
transparent: 'TRUE'
},
{'reproject': true}
);
...
map.addLayers([gsat,bld_overlay]);
У меня два вопроса:
1. Как отобразить WMS слои в системе координат WGS84 на план-схеме без использования Google Maps?
2. Как отображать WMS слои (и управлять ими) на Google Maps при любом масштабе?
GeoServer 1.6.2, OpenLayers (rev.:4899), IE
ps: пробовал играться со sphericalMercator, использовал EPSG:900913, толку мало...
Спасибо!
У меня такая проблема: создано несколько слоев в GeoServer в системе координат EPSG:4326. С использованием OpenLayers не получается эти слои отобразить на плоскости, т.е. визуально объекты как бы "приплюснуты". Но, если эти WMS слои наложить на Google, то они отображаются именно в плоскости (но только при одном масштабе!).
При изменении масштаба WMS слои не отображаются и управление ими блокируется.
Вот кусочек кода клиента:
var bounds = new OpenLayers.Bounds(
60.5988502502441, 56.832691192627,
60.6119728088379, 56.8392524719238
);
var options = {
controls: [],
maxExtent: bounds,
maxResolution: 'auto',
units: 'degrees',
minZoomLevel: 3,
maxZoomLevel: 9,
numZoomLevels: 19
};
map = new OpenLayers.Map('map', options);
...
var gsat = new OpenLayers.Layer.Google(
"Google Satellite",
{type: G_SATELLITE_MAP}
);
var bld_overlay = new OpenLayers.Layer.WMS(
"WMS layer",
wms_srv_url,
{
layers: 'demo:border,demo:lands',
tiled: 'true',
transparent: 'TRUE'
},
{'reproject': true}
);
...
map.addLayers([gsat,bld_overlay]);
У меня два вопроса:
1. Как отобразить WMS слои в системе координат WGS84 на план-схеме без использования Google Maps?
2. Как отображать WMS слои (и управлять ими) на Google Maps при любом масштабе?
GeoServer 1.6.2, OpenLayers (rev.:4899), IE
ps: пробовал играться со sphericalMercator, использовал EPSG:900913, толку мало...
Спасибо!