You are not logged in.
- Topics: Active | Unanswered
Announcement
#1 2011-05-13 15:29:57
- Mourner
- Member
- From: Kiev, Ukraine
- Registered: 2008-04-03
- Posts: 69
- Website
Leaflet — новая JavaScript-библиотека для карт от CloudMade
Привет всем русскоязычным осмерам!
Сегодня CloudMade анонсировал Leaflet — новую JavaScript-библиотеку с открытым исходным кодом для интерактивных карт. Я являюсь автором этой библиотеки — буду рад услышать ваши отзывы и ответить на все вопросы.
Leaflet задумана как библиотека, одинаково хорошо работающая и на десктопных браузерах, и на мобильных устройствах (iPhone/iPad, Android) — очень быстрая, легковесная, с простым API, красивым и понятным ООП-кодом. В отличии от OpenLayers (самого популярного выбора на сегодняшний день) мы не пытаемся впихнуть в нее все фичи, о которых только можно помыслить, раздувая код до немыслимых размеров — только самое основное, минимальный набор, который удовлетворяет нужды 99% применений карт в онлайне (тайлы, маркеры, векторы, попапы), но реализовывая их максимально лучшим образом.
Официальный сайт Leaflet: http://leaflet.cloudmade.com (описание, примеры, документация)
Репозиторий на GitHub: http://github.com/CloudMade/Leaflet (будем счастливы видеть контрибьюторов )
Спасибо!
Last edited by Mourner (2011-05-13 15:31:01)
Leaflet — A Modern, Lightweight Open-Source JavaScript Library for Interactive Maps by CloudMade
Offline
#2 2011-05-13 16:18:38
- Hind
- Member
- From: Moscow
- Registered: 2009-05-25
- Posts: 3,950
Re: Leaflet — новая JavaScript-библиотека для карт от CloudMade
и на мобильных устройствах (iPhone/iPad, Android)
FUCK YEA! Огромный вам респект! А то раньше только http://opentouchmap.org тачи умел.
Одно из самых приятных событий года в OSM, однозначно. OpenLayers мне осточертел своим весом и тормознутостью. 58 килобайт!
Last edited by Hind (2011-05-13 16:23:03)
Offline
#3 2011-05-13 17:15:18
- metadenisik
- Member
- From: Stroitel, Izhevsk, Udmurtia
- Registered: 2010-08-16
- Posts: 346
Re: Leaflet — новая JavaScript-библиотека для карт от CloudMade
Баг-не баг, судите сами: На страничке http://leaflet.cloudmade.com/examples/quick-start.html есть примеры. В любом из них дохожу до максимального зума с использованием колесика мышки, зум перестает работать (не уменьшает ни колёсиком мышки, ни нажатием кнопки). При этом на страничке http://leaflet.cloudmade.com/ всё работает как надо. Наблюдается если использовать для зума только колёсико мыши, если нажимать на кнопки + и -, то всё работает / google chrome 10, xp
На высоте 5000 метров
Offline
#4 2011-05-13 17:31:10
- usm78-gis
- Member
- Registered: 2008-04-21
- Posts: 2,662
Re: Leaflet — новая JavaScript-библиотека для карт от CloudMade
удовлетворяет нужды 99% применений карт в онлайне
WMS-то эта новая библиотека хотя бы поддерживает ?
Offline
#5 2011-05-13 17:34:30
- Hind
- Member
- From: Moscow
- Registered: 2009-05-25
- Posts: 3,950
Re: Leaflet — новая JavaScript-библиотека для карт от CloudMade
Баг-не баг, судите сами
А я уже создал багу про это :3
Offline
#6 2011-05-13 17:37:54
- usm78-gis
- Member
- Registered: 2008-04-21
- Posts: 2,662
Re: Leaflet — новая JavaScript-библиотека для карт от CloudMade
OpenLayers мне осточертел своим весом и тормознутостью.
Все зависит от приложений. Мне вот не хватает в openlayers полнофункциональных
SOS и CSW клиентов, приходится дописывать самому из имеющихся кусков.
Offline
#7 2011-05-13 17:49:20
- Hind
- Member
- From: Moscow
- Registered: 2009-05-25
- Posts: 3,950
Re: Leaflet — новая JavaScript-библиотека для карт от CloudMade
Вот именно, и для бытового применения Leaflet куда как приятнее. Показать несколько маркеров или многоугольников, «да с таким-то зумом»!
Offline
#8 2011-05-14 15:51:32
- Mourner
- Member
- From: Kiev, Ukraine
- Registered: 2008-04-03
- Posts: 69
- Website
Re: Leaflet — новая JavaScript-библиотека для карт от CloudMade
и на мобильных устройствах (iPhone/iPad, Android)
FUCK YEA! Огромный вам респект! А то раньше только http://opentouchmap.org тачи умел.
Одно из самых приятных событий года в OSM, однозначно. OpenLayers мне осточертел своим весом и тормознутостью. 58 килобайт!
Спасибо. Собственно именно по этой причине я и начал в своё время писать Web Maps API с нуля, хотя CloudMade изначально хотели, чтобы я просто сделал враппер вокруг OpenLayers. И вот полгода назад начал писать Leaflet, используя предыдущие наработки.
Справедливости ради надо отметить, что есть еще Modest Maps JS и Polymaps. Но первый активизировался после долгого простоя только в последние пару месяцев, а второй - клёвая либа, но без поддержки IE6-8 и Андроида (из-за требования SVG) и с очень странным API и кодом (из-за функционального подхода вместо ООП).
Leaflet — A Modern, Lightweight Open-Source JavaScript Library for Interactive Maps by CloudMade
Offline
#9 2011-05-14 15:53:20
- Mourner
- Member
- From: Kiev, Ukraine
- Registered: 2008-04-03
- Posts: 69
- Website
Re: Leaflet — новая JavaScript-библиотека для карт от CloudMade
Баг-не баг, судите сами: ...
Да, спасибо! Уже зарепортили (https://github.com/CloudMade/Leaflet/issues/47), в ближайшее время пофикшу. Баг проявляется, когда на карте есть полигон и ты зумишься в место, которое его не содержит.
Leaflet — A Modern, Lightweight Open-Source JavaScript Library for Interactive Maps by CloudMade
Offline
#10 2011-05-14 16:01:14
- Mourner
- Member
- From: Kiev, Ukraine
- Registered: 2008-04-03
- Posts: 69
- Website
Re: Leaflet — новая JavaScript-библиотека для карт от CloudMade
WMS-то эта новая библиотека хотя бы поддерживает ?
Мне вот не хватает в openlayers полнофункциональных SOS и CSW клиентов, приходится дописывать самому из имеющихся кусков.
Вы на самом деле довольно редкое исключение. Например, за три года работы в CloudMade я ни разу (!) не встретил практического применения WMS в каком-либо стартапе, популярном веб-сайте или веб-приложении — всё, что встречалось, относилось сугубо к научно-исследовательской сфере. Подавляющее большинство применений сводятся в итоге к простой тайловой карте с маркерами, полилайнами/полигонами и попапами.
Для более сложных вещей пускай народ пишет плагины, а Leaflet пускай остаётся максимально сконцентрированной на самых простых и необходимых вещах.
Last edited by Mourner (2011-05-14 17:33:24)
Leaflet — A Modern, Lightweight Open-Source JavaScript Library for Interactive Maps by CloudMade
Offline
#11 2011-05-14 16:20:10
- Komяpa
- Member
- From: Minsk
- Registered: 2009-04-14
- Posts: 1,323
- Website
Re: Leaflet — новая JavaScript-библиотека для карт от CloudMade
Mourner, geoJSON?..
world processing is what we do.
[OSMF BY Team] [http://komzpa.net/] [jabber: komzpa@gmail.com] [mobile/SMS: +375257407159]
Offline
#12 2011-05-14 16:34:30
- Hind
- Member
- From: Moscow
- Registered: 2009-05-25
- Posts: 3,950
Re: Leaflet — новая JavaScript-библиотека для карт от CloudMade
Он у него в трекере вместе с kml в числе приоритетных стоит вроде.
Скорее бы, очень уж актуально. :3
Last edited by Hind (2011-05-14 16:49:10)
Offline
#13 2011-05-14 18:27:32
- Mourner
- Member
- From: Kiev, Ukraine
- Registered: 2008-04-03
- Posts: 69
- Website
Re: Leaflet — новая JavaScript-библиотека для карт от CloudMade
GeoJSON будет в течении пары недель, с KML сложнее, но тоже запланировано. Баг с зумом только что пофиксил.
Leaflet — A Modern, Lightweight Open-Source JavaScript Library for Interactive Maps by CloudMade
Offline
#14 2011-05-14 21:39:34
- Sergey Astakhov
- Member
- From: St.Petersburg, Russia
- Registered: 2009-11-13
- Posts: 5,779
Re: Leaflet — новая JavaScript-библиотека для карт от CloudMade
Вы на самом деле довольно редкое исключение.
Например, за три года работы в CloudMade я ни разу (!) не встретил практического применения WMS в каком-либо стартапе, популярном веб-сайте или веб-приложении — всё, что встречалось, относилось сугубо к научно-исследовательской сфере. Подавляющее большинство применений сводятся в итоге к простой тайловой карте с маркерами, полилайнами/полигонами и попапами.
Ну не такое уж и редкое. У нас несколько приложений построено на базе OL + WMS. WMS очень удобен чтобы рисовать много данных - сервер генерит картинку быстро, а клиенту надо только её показать. Рисование векторных данных средствами JavaScript хорошо только в ограниченых пределах.
Сейчас вот делаем портал для простых юзеров, на котором можно будет мониторить автобусы/троллейбусы/трамваи по всему Питеру. Пока не вижу альтернативы WMS-у для показа их на карте (несколько тысяч отметок в перспективе и чтоб не тормозило при показе). Была бы у вас поддержка - могли бы попробовать встроить, маленький размер скрипта тут важен.
Offline
#15 2011-05-16 12:32:23
- Mourner
- Member
- From: Kiev, Ukraine
- Registered: 2008-04-03
- Posts: 69
- Website
Re: Leaflet — новая JavaScript-библиотека для карт от CloudMade
Мне не нравится сложность спецификации WMS. Скажем, для рисования данных картинками с помощью тайл-сервиса достаточно просто условиться насчёт проекции (скажем, стандартный гугл меркатор) и URL-шаблона для тайлов, и добавить на карту с помощью обычного TileLayer — это просто и легковесно. Аналогично если это картинка по текущему bbox-у, а не тайлами - обычный ImageLayer и вручную обновлять на moveend.
Попробую разобраться с WMS, возможно напишем плагин. Или кто-то напишет в качестве контрибьюшна.
Leaflet — A Modern, Lightweight Open-Source JavaScript Library for Interactive Maps by CloudMade
Offline
#16 2011-05-16 12:43:58
- Sergey Astakhov
- Member
- From: St.Petersburg, Russia
- Registered: 2009-11-13
- Posts: 5,779
Re: Leaflet — новая JavaScript-библиотека для карт от CloudMade
Мне не нравится сложность спецификации WMS.
Ну, вам же не сервер писать. Для клиента там ничего сложного. Просто сформировать get-запрос нужными параметрами и отобразить картинку, пришедшую в ответ. Посмотрите OpenLayers.Layer.WMS - там кода всего ничего.
Offline
#17 2011-05-16 12:46:49
- Aleksandr Dezhin
- Member
- From: Msk
- Registered: 2008-05-25
- Posts: 2,109
- Website
Re: Leaflet — новая JavaScript-библиотека для карт от CloudMade
Мне не нравится сложность спецификации WMS.
Можно пойти по пути JOSM, когда со стороны пользователя приходит только ссылка к которой достаточно &bbox=... добавить.
[ Проверка границ и НП | Дампы | Валидатор рек | Кое-что ещё ]
- Нет! Не надо пытаться. Делай. Или не делай. Не надо пытаться. (c) Йода
Offline
#18 2011-05-16 13:11:46
- Mourner
- Member
- From: Kiev, Ukraine
- Registered: 2008-04-03
- Posts: 69
- Website
Re: Leaflet — новая JavaScript-библиотека для карт от CloudMade
Ну, вам же не сервер писать. Для клиента там ничего сложного. Просто сформировать get-запрос нужными параметрами и отобразить картинку, пришедшую в ответ. Посмотрите OpenLayers.Layer.WMS - там кода всего ничего.
Действительно! Тогда скоро реализуем, спасибо. https://github.com/CloudMade/Leaflet/issues/50
Last edited by Mourner (2011-05-16 13:11:57)
Leaflet — A Modern, Lightweight Open-Source JavaScript Library for Interactive Maps by CloudMade
Offline
#19 2011-05-16 14:03:31
- PaulKaz
- Member
- Registered: 2010-06-01
- Posts: 89
Re: Leaflet — новая JavaScript-библиотека для карт от CloudMade
Появится ли в ближайшее время документация на Basic types -> Icon?
Offline
#20 2011-05-16 14:23:21
- Mourner
- Member
- From: Kiev, Ukraine
- Registered: 2008-04-03
- Posts: 69
- Website
Re: Leaflet — новая JavaScript-библиотека для карт от CloudMade
Да, в течении пары дней! Пример использования:
var MyIconClass = L.Icon.extend({
iconUrl: '...',
shadowUrl: '...',
iconSize: new L.Point(...),
shadowSize: new L.Point(...),
iconAnchor: new L.Point(...),
popupAnchor: new L.Point(...),
});
var myIcon = new MyIconClass();
var marker = new L.Marker(latlng, {icon: myIcon});
Leaflet — A Modern, Lightweight Open-Source JavaScript Library for Interactive Maps by CloudMade
Offline
#21 2011-05-16 16:08:11
- Mourner
- Member
- From: Kiev, Ukraine
- Registered: 2008-04-03
- Posts: 69
- Website
Re: Leaflet — новая JavaScript-библиотека для карт от CloudMade
Реализовал WMS в первом приближении (пока что поддерживает только EPSG 3857 / 900913), сегодня-завтра закоммичу.
update: пробуем, https://github.com/CloudMade/Leaflet/co … 4256aee9c6
Last edited by Mourner (2011-05-16 17:43:35)
Leaflet — A Modern, Lightweight Open-Source JavaScript Library for Interactive Maps by CloudMade
Offline
#22 2011-05-17 12:34:15
- Ezhick
- Member
- From: Moscow
- Registered: 2008-10-08
- Posts: 2,508
- Website
Re: Leaflet — новая JavaScript-библиотека для карт от CloudMade
Кластеризация объектов планируется? Для меня - единственное, чего сейчас не хватает, чтобы перейти с клайдмейдовской же web-maps-lite...
Offline
#23 2011-05-17 12:38:34
- Mourner
- Member
- From: Kiev, Ukraine
- Registered: 2008-04-03
- Posts: 69
- Website
Re: Leaflet — новая JavaScript-библиотека для карт от CloudMade
Кластеризация наверное будет частью следующей версии Web Maps API, которая будет переписана на ядре Leaflet (вместо с роутингом, геокодингом, всякими виджетами и т.д.).
Leaflet — A Modern, Lightweight Open-Source JavaScript Library for Interactive Maps by CloudMade
Offline
#24 2011-05-17 12:58:20
- Ezhick
- Member
- From: Moscow
- Registered: 2008-10-08
- Posts: 2,508
- Website
Re: Leaflet — новая JavaScript-библиотека для карт от CloudMade
То есть Web Maps API будет продолжать развиваться? Я уж решил, что Leaflet должен ее заменить...
Offline
#25 2011-05-17 13:07:54
- Mourner
- Member
- From: Kiev, Ukraine
- Registered: 2008-04-03
- Posts: 69
- Website
Re: Leaflet — новая JavaScript-библиотека для карт от CloudMade
Да, по задумке Leaflet будет оставаться минимальной библиотекой с самыми основными функциями, в то время как Web Maps API - полным набором функциональности для поддержки всех сервисов CloudMade и дополнительными фичами.
Leaflet — A Modern, Lightweight Open-Source JavaScript Library for Interactive Maps by CloudMade
Offline