Страница 1 из 1
Способы отображения данных с помощью OpenLayers
Добавлено: 16 янв 2009, 06:13
updates-bot
Обсуждение статьи
"Способы отображения данных с помощью OpenLayers"
http://gis-lab.info/qa/ol-load.html
Re: Способы отображения данных с помощью OpenLayers
Добавлено: 07 фев 2009, 06:26
Максим Дубинин
Обновление 06.02.2009: добавлен пример вектор+google с учетом системы координат, по
мотивам
Re: Способы отображения данных с помощью OpenLayers
Добавлено: 31 авг 2009, 01:08
Denis Rykov
В разделе 2 "Отображение слоя WMS" не отображается карта.
Re: Способы отображения данных с помощью OpenLayers
Добавлено: 28 фев 2010, 18:49
Mavka
Параметр
reproject: true
в версии 2.8 признан устаревшим, т.к. большинство серверов WMS уже умеют сами выдавать тайлы в EPSG:900913 (пруфлинк не привожу, комментарий дан в тексте файла wms.js).
Текущие рекомендации выглядят так. Создаем карту:
Код: Выделить всё
map = new OpenLayers.Map('map', {
projection: new OpenLayers.Projection('EPSG:900913'),
units: 'm',
maxResolution: 156543.0339,
maxExtent: new OpenLayers.Bounds(-20037508.34, -20037508.34, 20037508.34, 20037508.34),
});
Подключаем Google Maps и слой WMS:
Код: Выделить всё
var layer_goo = new OpenLayers.Layer.Google('Google Map',
{type: G_NORMAL_MAP, sphericalMercator: true}
);
var layer_wms = new OpenLayers.Layer.WMS('wms',
url_server + '/geoserver/wms/',
{layers: 'mylayer'},
);
Обратите внимание, если для layer_goo не указать "sphericalMercator: true", то слой внешне будет работать правильно. Но layer_wms показывать ничего не будет. Дело в том, что при этом на wms-сервер отправляются запросы с SRS=epsg:900913, а BBOX рассчитывается как для epsg:4326.
Re: Способы отображения данных с помощью OpenLayers
Добавлено: 10 июл 2010, 14:57
Mavka
Google Maps V3 for OpenLayers (применительно к OpenLayers 2.10)
- Больше не требуется получать персональный ключ (API key).
- Типы слоев переименовали (G_PHYSICAL_MAP -> google.maps.MapTypeId.TERRAIN).
- OpenLayers.Map автоматически настраивается на сферический меркатор (EPSG:900913), экстент, ед. измерения и список расширений (масштабов)
Устаревшая версии API v2 будет поддерживаться еще 3 года (
Terms of Service, 4.4 Termination of the Service).
Re: Способы отображения данных с помощью OpenLayers
Добавлено: 10 июл 2010, 16:46
Konstantin Tokar
Одна беда - всё ещё для коммерческого применения надо покупать лицензию...
Re: Способы отображения данных с помощью OpenLayers
Добавлено: 14 мар 2011, 11:13
Mavka
Глянул один свой старый проект и увидел что слой Google показывает большое некрасивое окно "Данные карты". Типа этого:
Решается это так. В коде карты ничего не меняем:
Код: Выделить всё
var lay_goo = new OpenLayers.Layer.Google('Google Streets',
{numZoomLevels: 20, sphericalMercator: true}
);
А в импорте библиотеки нужно явно указать версию:
Было - <script src="
http://maps.google.com/maps/api/js?sens ... "></script>
Стало - <script src="
http://maps.google.com/maps/api/js?
v=3.2&sensor=false"></script>
Re: Способы отображения данных с помощью OpenLayers
Добавлено: 02 июл 2011, 00:28
Mavka
Проблема опять объявилась и указание версии ее не решает, перебил в стилях на
Код: Выделить всё
.olLayerGoogleCopyright {
visibility: hidden;
}
Пока работает. Вроде бы в рассылке уверяли что в транке все исправлено, но подтверждения не нахожу.
Re: Способы отображения данных с помощью OpenLayers
Добавлено: 02 июл 2011, 15:23
Mavka
Ticket
#2984 - решение аналогичное. Или качаем
trunk и пользуемся готовым. К тому же там появился нормальный
Bing (но нужен ключ), а то Virtual Earth я так и не смог заставить работать.
Re: Способы отображения данных с помощью OpenLayers
Добавлено: 29 ноя 2011, 09:42
native
Во втором и третьем примере розовые квадраты.
Re: Способы отображения данных с помощью OpenLayers
Добавлено: 29 ноя 2011, 12:50
Denis Rykov
native писал(а):Во втором и третьем примере розовые квадраты.
Исправил.
Re: Способы отображения данных с помощью OpenLayers
Добавлено: 29 ноя 2011, 13:43
Denis Rykov
Еще, свойство reproject, описываемое в данной статье на текущий день является Deprecated. Актуальный подход описан
тут.