Перерисовать как у них элементы навигации понятно, а вот как изменить цвет выпадающего поля "Переключателя слоев" хотелось бы узнать (видимо надо гдето изменять в файле OpenLayers.js)? И как сделать водяные знаки(еле заметный прозрачный логотип на фоне карты).
Сервис Навител.Карты и OpenLayers
- dobeer
- Активный участник
- Сообщения: 199
- Зарегистрирован: 25 дек 2009, 21:54
- Репутация: 1
- Откуда: Чита
- Контактная информация:
Сервис Навител.Карты и OpenLayers
Посмотрел сервис Навител.Карты очевидно что сделан на OpenLayers
Перерисовать как у них элементы навигации понятно, а вот как изменить цвет выпадающего поля "Переключателя слоев" хотелось бы узнать (видимо надо гдето изменять в файле OpenLayers.js)? И как сделать водяные знаки(еле заметный прозрачный логотип на фоне карты).
Перерисовать как у них элементы навигации понятно, а вот как изменить цвет выпадающего поля "Переключателя слоев" хотелось бы узнать (видимо надо гдето изменять в файле OpenLayers.js)? И как сделать водяные знаки(еле заметный прозрачный логотип на фоне карты).
-
Vadim Zudkin
- Новоприбывший
- Сообщения: 6
- Зарегистрирован: 31 янв 2010, 13:35
- Репутация: 0
Re: Сервис Навител.Карты и OpenLayers
Решил полюбопытствовать как были добавлены водяные знаки.
По моим наивным представлениям водяные знаки сформированы с помощью Tile Map Server
То есть на экраны выводятся отдельные картинки.
Посмотрел как формируется карта:
nmap = new Navitel.Map(url);
Соответсвенно перешёл на
http://map.navitel.su/navitel/theme/navitel/main.js
Там следующий класс
OpenLayers.Layer.TMS=OpenLayers.Class(.........
Всё специально запутано.
Скучно в этом разбираться.
По моим наивным представлениям водяные знаки сформированы с помощью Tile Map Server
То есть на экраны выводятся отдельные картинки.
Посмотрел как формируется карта:
nmap = new Navitel.Map(url);
Соответсвенно перешёл на
http://map.navitel.su/navitel/theme/navitel/main.js
Там следующий класс
OpenLayers.Layer.TMS=OpenLayers.Class(.........
Всё специально запутано.
Скучно в этом разбираться.
-
kilex
- Новоприбывший
- Сообщения: 3
- Зарегистрирован: 05 фев 2010, 19:18
- Репутация: 0
Re: Сервис Навител.Карты и OpenLayers
Может быть кто нить придумает способ выдрать слой пробок с навтела в OpenLayers.
Чтото я изучал код долго и упорно, но так и не нашел, как они формируют слой оверлея.
Очень хочется
Чтото я изучал код долго и упорно, но так и не нашел, как они формируют слой оверлея.
Очень хочется
-
bim2010
- Гуру
- Сообщения: 977
- Зарегистрирован: 27 янв 2009, 22:57
- Репутация: 258
Re: Сервис Навител.Карты и OpenLayers
Дело не в OL а в большом куске, который дописан на PHP, он исполняется на серверной стороне. Например:Всё специально запутано.
Код: Выделить всё
if (this.nmap.developmentMode == 'RS') {
this.getUrlValue = "php/server.php";
}
if (this.nmap.developmentMode == 'N') {
this.getUrlValue = this.nmap.getUrl();
}Код: Выделить всё
Navitel.Layer.Jams = OpenLayers.Class(OpenLayers.Layer.TMS, Navitel.Layer, {
* Property: name
* {String}
name: "Пробки",
* Property: reloadInterval
* {Ineger} in seconds
reloadInterval: 120,
* Constructor: Navitel.Layer.Jams
initialize: function() {
this.reloadInterval = this.reloadInterval * 1000;
Navitel.Layer.prototype.initialize.apply(this, arguments);
OpenLayers.Layer.TMS.prototype.initialize.apply(this, [this.name,
this.nmap.getUrl(),
{
'getURL': this.getUrl,
//'transitionEffect': 'resize',
'isBaseLayer': false,
'alpha': 1,
'buffer': 0
}]);
this.nmap.map.addLayer(this);
window.NavitelLayerJams = this;
setInterval(this.reloadRun, this.reloadInterval);
},Грамотное решение и этого нет в OL. Навителовцы молодцы.
Логотип на фоне карты – еще один слой TMS - слой подложка поверх которого, загружена карта.
Правильней обратится к автору чтоб не гадать …
author Vyacheslav Shindin shindin@rssystems.ru
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя