Leaflet — новая JavaScript-библиотека для карт от CloudMade

Да это вопрос к тайлам, а не к Leaflet.

Ну хорошо. Есть например http://toolserver.org/~osm/locale/ru.html. Как с помощью Leaflet сформировать к нему запрос? у меня не получается. Или есть другие тайлсервера использующие name:ru с которыми проще работать? Я просто других не знаю.

Добавьте два слоя
http://{s}.www.toolserver.org/tiles/osm-no-labels/{z}/{x}/{y}.png
и
http://{s}.www.toolserver.org/tiles/osm-labels-ru/{z}/{x}/{y}.png

Спасибо, получилось. А где почитать про эти параметры (osm-labels-ru, osm-no-labels и т.д.)? Тыкните носом пожалуйста.

Где почитать не знаю.
Я просто посмотрел с каких адресов грузятся тайлы на http://toolserver.org/~osm/locale/ru.html

Еще можно попробовать
http://{s}.tile.openstreetmap.de:8002/tiles/1.0.0/bg//{z}/{x}/{y}.png
+
http://{s}.tile.openstreetmap.de:8002/tiles/1.0.0/labels/ru,_/{z}/{x}/{y}.png

Вместо “ru," можно указывать любую другую приоритетность языков. Например "ru,uk,en,”.
http://mlm.jochentopf.com/

Как подключить слой, у которого сервера разнятся по цифре, а не букве?
Буква - это {s} в адресе, а цифра как?

Та же {s}, только добавить subdomains: ‘123’ в параметрах слоя.

Можно ли извлечь данные ОСМ по конкретным объектам, чтобы на их основе нарисовать полигон? Нужно подсветить заданные строения. Хорошо бы было выборку делать по адресу (addr:housenumber + addr:street). Есть ли в Leaflet такие инструменты?

madeinussr, по моему готового инструмента нет. Для извлечения небольшого количества данных http://wiki.openstreetmap.org/wiki/Overpass_API (например http://overpass-turbo.eu/ )

На конфе ОМММ выступал по-моему Hind с плагином для поиска пои, и так это было реализовано как раз через Overpass_API.

Overpass Turbo умеет экспортировать в GeoJSON, у лифлете из коробки есть L.geoJson для загрузки такого.

Спасибо, получилось: на http://overpass-turbo.eu/ сделал выборку интересующих меня объектов, экспортировал в GeoJson, подключил и с помощью L.geoJson вывел данные на карту.

Жаль нет прямого обращения к данным ОСМ, чтобы при изменении данных на сервере перерисовывался полигон.

А не подскажет кто-нибудь как можно изменяя переменные, задающие координаты в объявлении карты заставить эту карту автоматически перемещаться?


<script type='text/javascript'>
var shirota = 45.0445;
var dolgota = 35.3561;
......
Функция, изменяющая переменные shirota и dolgota
......
var map = L.map('map1').setView([shirota, dolgota], 16);
L.tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png').addTo(map);
</script>

Для перемещения карты на новое место можно (и нужно) использовать panTo

map.panTo([50, 30]);
map.panTo({lon: 30, lat: 50});
map.panTo({lat: 50, lng: 30});
map.panTo(L.latLng(50, 30));

или ещё раз setView

map.setView([shirota, dolgota],map.getZoom());

Спасибо получилось! Не сразу понял, что panTo нужно засунуть в мою функцию мониторящую события на странице, размещал после неё. Таким образом и переменные оказались не нужны - сразу подставляются необходимые данные.

Получилось, да не совсем. Теперь нет возможности управлять картой с помощью мыши - она возвращается в выбранные координаты.

Указанные функции ничего не блокируют. Где-то вы в другом месте ошибаетесь.

Да, проблема была в функции работающей с событиями html-документа (переключение между radio передвигает карту в нужное место). Сменил window.onclick на window.onchange и все заработало.

Еще долго парился с восстановлением зума при перетаскивании карты, пришлось поменять panTo на setView.

Ребята, у меня тут вопрос: как с помощью leaflet и leaflet routing machine рисовать пути по своим координатам? leaflet routing machine берет координаты с OSRM, у меня же есть собственный сервис, который эти данные формирует. Может кто сталкивался - буду благодарен за подсказку.

Добрый день.
Подскажите как можно на основе leaflet построить карту с gps координат в реальном времени?
Спасибо.