Клуб API Карт

Zoom при поиске

alexromanchuk
16 сентября 2014, 09:10

Добрый день!

 

В песочнице описан пример поиска. При нахождении объекта control.SearchControl центрирует карту по найденному объекту с максимальным зумом.

Подскажите как при нахождении объекта установить свой зум, а не максимальный?

7 комментариев
Подписаться на комментарии к посту
Можно воспользоваться опцией noCentering  и при получении данных самомму выставить необходимый центр и зум.

как отключить понятно noCentering;

не понятно как выставить новые параметры центра и зума

нет похожего примера?

Например, так:
noCentering: true

searchControl.events.add('load', function (e) {
    if (!e.get('skip') && searchControl.getResultsCount() == 1) {
        var result = searchControl.getResultsArray()[0];
        myMap.geoObjects.add(result);
        myMap.setCenter(result.geometry.getCoordinates());
        myMap.setZoom(// нужный зум //);
    }
});

+ стоит сохранить ссылку на добавленный объект и при следующем поиске удалить его с карты.

Простите за назойливость, но работает только если все объекты уникальные

Вот пример http://jsfiddle.net/u99z5Lg2/7/ если ищем вокзал2, то сработает,

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

Можно как-нибудь подправить?

Подскажите, чему должна равняться переменная

var result = mySearchControl.getResultsArray()[0];

чтобы выбирался не первый полученный ответ, а тот который выбирает пользователь из списка результатта поиска

 Полный код примера http://jsfiddle.net/u99z5Lg2/9/

Спасибо, зум настроил по вашему примеру

Результат http://jsfiddle.net/u99z5Lg2/10/

Вот только никак не могу настроить балун, то ничего нет, то берет поле из массива myPoint подскажите в чем ошибка

balloonContent: results.name нет объекта
balloonContent: results.text нет объекта
balloonContent: mySearchControl.getResultsArray()[mySearchControl.getSelectedIndex()].text нет объекта
        balloonContent: point.text последний из myPoints
         balloonContent: point.name нет объекта

 

Все спасибо, у меня срослось

 http://jsfiddle.net/u99z5Lg2/11/