Клуб API Карт

Кластеризация результатов из поискового запроса

Пост в архиве.

День добрый. Работаю с картами почти первый раз, не могу разобраться в нескольких вещах:

1) Как мне кластеризовать результаты полученные из поисковой строки?

2) Как задать полученым меткам стили?

3) Вообще-то сам контрол поиска мне тоже не нужен

Код, который у меня есть (немного исправленный код из песочницы):

<script src="//api-maps.yandex.ru/2.1/?lang=ru_RU" type="text/javascript"></script>

    <script type="text/javascript">

        function init() {

            var myMap = new ymaps.Map('map', {

                center: [55.74, 37.58],

                zoom: 13,

                controls: []

            });

            var searchControl = new ymaps.control.SearchControl({

                options: {

                    provider: 'yandex#search',

                    size: 'small'

                },

                result: 100

            });

            myMap.controls.add(searchControl, {results: 100});

            searchControl.search('Сбербанк');

        }

        ymaps.ready(init);

    </script>

    <div id="map" style="width: 100%;height: 600px;"></div>

6 комментариев

ymaps.ready(function () {

    var myMap = new ymaps.Map('map', {

            center: [55.751574, 37.573856],

            zoom: 9,

            controls: []

        });

        

    myMap.geoObjects.add(ymaps.geoQuery(ymaps.search('Сбербанк', {results: 100}))

    .setOptions('preset', 'islands#greenDotIcon')

    .applyBoundsToMap(myMap)

    .clusterize({ preset: 'islands#invertedGreenClusterIcons'}))

});

Спасибо, хоть разобрался как работает это вот? Один вопрос, теперь не отображается информация об объекте во всплывающей подсказке (ну и для кластеров тоже)

Я разобрался.

Судя по документации они не светят наружу свои макеты балуна для результатов этого поиска, видимо чтобы иметь возможность менять их представление в любой момент ничего никому не ломая.

 

В любом случае все данные в результатах есть, сделай свой макет и показывай как тебе надо

Спасибо. Но я до сих пор так и не понял как мне получить инфу о конкретном объекте? То есть взял простейший пример по вашей ссылки, привязал его к точкам. Примерно так:

 

var LayoutClass = ymaps.templateLayoutFactory.createClass(
    '

'

+
    '{{ properties.header|default:"Заголовок" }}' +
    ''
);

 

 Ну и, собственно выводит везде "заголовок", а как добраться до значений я не понимаю :(

Надо посмотреть, на примере одного объекта какие поля есть в properties и выводить в шаблоне те что нужны

 

    ymaps.search('Сбербанк', {results: 100}).then(function (res) {

        console.log(res.geoObjects.get(0).properties.getAll())

    })

Спасибо огромное за помощь! Хотя ошибка была в синтаксисе в итоге, но вы мне очень помогли, сотни и тысячи нефти в вашу сторону, товарищ!