Директор сказал встроить в сайт карту. Я выбрал OpenStreetMap, и начал изучать её API. Благодаря примерам в wiki быстро стало паонятно что к чему, однако я не сразу нашел, как группировать метки при уменьшении зума. Но до сих пор не понятно, как сделать надпись на метке группы с количеством меток, входящих в неё. Каждая метка в HTML-коде задается тегом <image> (о котором не удалось найти информацию в интернете), так что наверное никак. На Google Maps API кстати для этого есть специальная функция.
Но переходить на гугл нельзя, т.к. планируется наложение на эту карту своих слоёв, которые будут храниться у нас на сервере - OSM в этом смысле единственный в своем роде, поэтому оставляю как есть и буду наверное делать какой-нибудь костыль на JS, который к каждому <image> прилаживает <div> с нужной циферкой. А пока метка группы просто изменяет свой размер в зависимости от количества вложенных меток.
Discussion
Comment from Zverik on 20 October 2012 at 13:32
Это называется clustering, и присутствует во всех библиотеках. Как я понял, вы используете OpenLayers. Вот примеры для него: http://openlayers.org/dev/examples/?q=cluster
Для библиотеки Leaflet (более простой, говорят) плагин с примерами здесь: https://github.com/danzel/Leaflet.markercluster
Comment from Skilowatt on 20 October 2012 at 17:35
Zverik, спасибо за комментарий. Примеры на сайте OpenLayers я видел, они не подходят потому что нужны цифры на маркерах группы и они не должны быть просто кружками, я использую свойство externalGraphic в стиле. Посмотрел демку Leaflet, вроде то что надо, позже посмотрю, можно ли использовать картинки вместо зеленых квадратиков (маркер группы) и увеличение карты при клике на маркер группы.
Comment from Skilowatt on 20 October 2012 at 17:39
А, всё, нашел. Всё это есть. Еще раз спасибо.