Клуб API Карт

Добавить кластеризацию к примеру

razdoev
24 июня 2015, 18:41

 Здравствуйте. Нужно отобразить объекты по признакам. Пример взят из Песочницы, в целом он работает, вот здесь  http://kartadimitrovgrada.ru

Вопрос - как добавить кластеризацию. Сам не осилил. Прошу помощи, если возможно конечно.

<script type="text/javascript">
ymaps.ready(init);
function init() {
    var myMap = new ymaps.Map('map', {
            center: [54.2238, 49.6011],
            zoom: 14,
                controls: []
        });
function checkState () {
        var shownObjects,
            byColor = new ymaps.GeoQueryResult();
if ($('#sub_1').prop('checked')) {
            byColor = myObjects.search('options.sub_category = 1');
        }
if ($('#sub_2').prop('checked')) {
            byColor = myObjects.search('options.sub_category = 2') .add(byColor);
        }
if ($('#sub_3').prop('checked')) {
            byColor = myObjects.search('options.sub_category = 3') .add(byColor);
        }
        shownObjects = byColor.addToMap(myMap);
        myObjects.remove(shownObjects).removeFromMap(myMap);
    }
$('#sub_1').click(checkState);
$('#sub_2').click(checkState);
$('#sub_3').click(checkState);

    // Создадим объекты из их JSON-описания и добавим их на карту.
    window.myObjects = ymaps.geoQuery(
{
"type": "FeatureCollection",
"features": [
{"type": "Feature", "id": 3723, "geometry": {"type": "Point", "coordinates": [54.2261, 49.5507]}, "properties": {"balloonContent": "<address><strong>Кавер-группа «МЁД»</strong><br/>Адрес: </address>", "clusterCaption": "Еще одна метка", "hintContent": "Кавер-группа «МЁД»"}, "options": {  "preset": "islands#grayDotIcon",  "sub_category": 2 }},
{"type": "Feature", "id": 3725, "geometry": {"type": "Point", "coordinates": [54.2213, 49.3933]}, "properties": {"balloonContent": "<address><strong>Кафе Волга (У Мельницы)</strong><br/>Адрес: </address>", "clusterCaption": "Еще одна метка", "hintContent": "Кафе Волга (У Мельницы)"}, "options": {  "preset": "islands#grayDotIcon",  "sub_category": 2 }},
{"type": "Feature", "id": 3726, "geometry": {"type": "Point", "coordinates": [54.2131, 49.5388]}, "properties": {"balloonContent": "<address><strong>Кафе Лев</strong><br/>Адрес: </address>", "clusterCaption": "Еще одна метка", "hintContent": "Кафе Лев"}, "options": {  "preset": "islands#grayDotIcon",  "sub_category": 2 }},
{"type": "Feature", "id": 3727, "geometry": {"type": "Point", "coordinates": [54.2130, 49.5392]}, "properties": {"balloonContent": "<address><strong>Кафе Рассвет</strong><br/>Адрес: </address>", "clusterCaption": "Еще одна метка", "hintContent": "Кафе Рассвет"}, "options": {  "preset": "islands#grayDotIcon",  "sub_category": 2 }},
{"type": "Feature", "id": 3728, "geometry": {"type": "Point", "coordinates": [54.2224, 49.5988]}, "properties": {"balloonContent": "<address><strong>Автокинотеатр МАРКС</strong><br/>Адрес: </address>", "clusterCaption": "Еще одна метка", "hintContent": "Автокинотеатр МАРКС"}, "options": {  "preset": "islands#grayDotIcon",  "sub_category": 2 }}
]
}
    
    ).addToMap(myMap);
}
</script>

 

3 комментария
Подписаться на комментарии к посту

window.myObjects = ymaps.geoQuery(...)

window.myClusterer = myObjects.clusterize();

myMap.geoObjects.add(myClusterer);

Премного благодарен. Работает отлично.

Только чекбоксы по признакам перестали работать :(