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

Или подскажите как расширить circle, добавив ему контейнер с меткой?

Попап он на то и попап чтоб быть одним.
Добавить метку можно с помощью DivIcon - в него можно запихать произвольный текст

2RedFox:
Какой-то баг с очередностью, вставил пока try-catch

Спасибо.

Если не трудно, ответьте, пожалуйста, на пару простых вопросов новичка.

  1. Как сделать так, чтобы список слоёв отображался по щелчку, а не при наведении мыши на иконку? Т.е. как в Open Layers.
  2. Для просмотра карты в полноэкранном режиме я использую плагин leaflet.fullscreen. По умолчанию он использует лишь одну иконку (переход в полноэкранный режим). Но было бы правильнее, если бы при переходе в полноэкранный режим он отображал бы другую иконку (переход в обычный режим), а не ту же самую. Т.е., как плагин для Open Layers <https://github.com/fredj/openlayers-fullscreen>.

Я работаю над библиотекой djeo, которая позволяет создавать географические браузерные приложения на основе лучших географических веб-API, используя единый программный интерфейс.

Только что я добавил поддержку Leaflet.

Также поддерживаются
Google Maps API
Google Earth API,
ArcGIS API for JavaScript
Yandex Maps API

Вот демо-пример под управлением Leaflet, который позволяет просматривать содержимое OSM-файла. Важно: происходит загрузка OSM-файла размером 12 Мб!

С работой других движков и описанием демо-примера можно ознакомится в соседней теме.

Приглашаю послушать мой доклад на конференции Открытые ГИС! в субботу, 17 ноября, в 17.40:
Библиотека djeo: единый API для лучших географических веб-API

Доклад разработчика Leaflet, Владимира Агафонкина, будет в воскресенье, 18 ноября, в 13.40. Семинар о Leaflet будет в также в воскресенье, 18 ноября, в 11.20

при переключении на слой l2 выдает ошибку ‘Cannot read property ‘layerId’ of undefined’, если убрать ‘//’(поставить где надо), то выдает ‘Cannot call method ‘removeLayer’ of null’, в чем причина??? или какой альтернативный вариант динамического control.layers?

Всем привет.
Хотелось бы иметь такой функционал у себя в Leaflet
Карта с удобным просмотром координат + калькулятор координат - http://pohodushki.org/ru/conversion-geo-coordinates
Может он уже есть?

Так всё же есть для этого: поменяли поле — пересчитайте остальные и передвиньте маркер; передвинули маркер — получите координаты и пересчитайте табличку.

map.on(“moveend”, пересчитать(map.getCenter());

Смотрю на пример ImageOverlay из документации:


var imageUrl = 'http://www.lib.utexas.edu/maps/historical/newark_nj_1922.jpg',
     imageBounds = [[40.712216, -74.22655], [40.773941, -74.12544]];

L.imageOverlay(imageUrl, imageBounds).addTo(map);

возможно ли imageBounds в примере для ImageOverlay задать в виде исходной точки, а вот на сколько растянуть оверлей определяется автоматически в зависимости от ширины и высоты рисунка? при этом всем используемая система координат не имеет значения.

нужно сделать что то вроде тынц.

Добрый день, возможно ли задать ограничивающую область экрана, за которую нельзя сдвинуть карту?
Наколхозить я сам могу, но может есть стандартные методы?

maxBounds

не совсем то :frowning:

нужная область зумится больше, чем нужно

Приветствую всех. Есть вопрос: можно ли задать id объекту на карте(маркер, полигон) и получать его при клике по объекту? Это нужно для автоматической подгрузки текста в popup. Заранее благодарю за помощь.


new L.marker(
  new L.LatLng(LAT, LNG),
  {
    id: 1
  })

https://github.com/ssouk/Leaflet/commit/155557

оно?

Любому javascript-объекту можно задать любое свойство.

а такой вот к вам вопрос - мне необходимо двигать на карте popup!..но я так понимаю в этой билиотеке нет достпуа к DOM popup, так как не получилось отловить событие на нём-просто ничего не происходит!..что можно сделать в данном случае?
Заранее спасибо.

Ну можно же пробежаться по всему ДОМу и найти

classList ->
0 "leaflet-popup"
1 "leaflet-zoom-animated"

Да, msTi, спасибо, оно. Теперь осталось разобраться с динамической подрузкой контента в popup. Отсюда ещё один вопрос: можно ли при объявление элемента привязать к нему javascript, который бы срабатывал на событие (в моем случае onClick)? И снова заранее благодарю :wink: