Проблема с очисткой поиска и маршрутами Yandex Map JS API
У меня возникло 2 проблемы
- Не могу понять как вызвать метод clear() у SearchControl, в документации нет примера пробовал делать так:
search = new ymaps.control.SearchControl({
useMapBounds: true,
noPopup: true
});
search.clear();
Появлялась ошибка clear is not a function Подскажите пожалуйста верный вызов метода, чтобы результат поиска нормально очистить
- В моем решении проекте подстановка начальной точки для маршрута в зависимости от того, какой регион выбрал пользователь. При этом при смене региона, вводе адреса и построении нового маршрута, данные берутся старые и приходится несколько раз нажимать на поиск чтоб это вылечить. Удаление маршрута не помогает, подскажите пожалуйста в чем может быть проблема Вот код
ymaps.route([sklad,point]).then(function (rout) {
if(router) myMap.geoObjects.remove(router);
router = rout.getPaths();
router.options.set({ strokeWidth: 5, strokeColor: '#002233', opacity: 1});
deliveryData.distance = Math.round(rout.getLength()/1000);
myMap.geoObjects.add(router);
});
Так же у меня возник вопрос, как при использовании метода router.options.set задать параметр масштабирования, чтобы весь маршрут был виден?
Заранее спасибо
Ответы (1 шт):
Автор решения: Evgeny
→ Ссылка
- Примеры применения методов есть в документации. Сначала вы создаете экземпляр SearchControl (как у вас в коде), затем отдельно вызываете
searchControl.clear() - К сожалению, по приложенному вами фрагменту кода ничего не понять. Попробуйте удалять проложенный ранее маршрут сразу после смены региона.
- >как при использовании метода router.options.set задать параметр масштабирования, чтобы весь маршрут был виден?
Лучше при создании класса multiRouter.MultiRoute добавьте ему параметр
boundsAutoApply: trueОбласть видимости карты будет меняться при каждом перестроении маршрута.
И правильнее было бы оформить каждый вопрос отдельным постом, так другим пользователям будет проще отвечать и искать ответы.