開放街圖標誌 OpenStreetMap 開放街圖

Знакомство с API

於 2012年十月20日 由 SkilowattRussian (Русский)發表。
Директор сказал встроить в сайт карту. Я выбрал OpenStreetMap, и начал изучать её API.  Благодаря примерам в wiki быстро стало паонятно что к чему, однако я не сразу нашел, как группировать метки при уменьшении зума. Но до сих пор не понятно, как сделать надпись на метке группы с количеством меток, входящих в неё. Каждая метка в HTML-коде задается тегом <image> (о котором не удалось найти информацию в интернете), так что наверное никак. На Google Maps API кстати для этого есть специальная функция. 
Но переходить на гугл нельзя, т.к. планируется наложение на эту карту своих слоёв, которые будут храниться у нас на сервере - OSM в этом смысле единственный в своем роде, поэтому оставляю как есть и буду наверное делать какой-нибудь костыль на JS, который к каждому <image> прилаживает <div> с нужной циферкой. А пока метка группы просто изменяет свой размер в зависимости от количества вложенных меток.
電子郵件圖示 藍天圖示 Facebook 圖示 LinkedIn 圖示 乳齒象圖示 Telegram 圖示 X 圖示

討論

Zverik2012年10月20日 13時32分 發表的評論

Это называется clustering, и присутствует во всех библиотеках. Как я понял, вы используете OpenLayers. Вот примеры для него: http://openlayers.org/dev/examples/?q=cluster

Для библиотеки Leaflet (более простой, говорят) плагин с примерами здесь: https://github.com/danzel/Leaflet.markercluster

Skilowatt2012年10月20日 17時35分 發表的評論

Zverik, спасибо за комментарий. Примеры на сайте OpenLayers я видел, они не подходят потому что нужны цифры на маркерах группы и они не должны быть просто кружками, я использую свойство externalGraphic в стиле. Посмотрел демку Leaflet, вроде то что надо, позже посмотрю, можно ли использовать картинки вместо зеленых квадратиков (маркер группы) и увеличение карты при клике на маркер группы.

Skilowatt2012年10月20日 17時39分 發表的評論

А, всё, нашел. Всё это есть. Еще раз спасибо.

登入 來留下評論