@SergeyTSA

Как в Яндекс картах после прокладывания маршрута центрировать и масштабировать карту, чтобы весь маршрут помещался в видимой области?

Здравствуйте!

Имеется следующий код на странице, который создает карту с центром в точке Город1, затем прокладывает маршрут между Город1 и Город2 и нужно. чтобы после того как маршрут проложился, уместить весь маршрут в видимой области карты.

ymaps.ready(init);

function init() {
	ymaps.geocode('Москва', { results: 1 }).then(function(res){
		var city = res.geoObjects.get(0);
		
		var myMap = new ymaps.Map("route-map", {
          center: city.geometry.getCoordinates(),
          zoom: 4
     });
		
		ymaps.route(['Москва','Самара']).then(function (route) {
			myMap.geoObjects.add(route);
			var points = route.getWayPoints(),
				lastPoint = points.getLength() - 1;
			points.options.set('preset', 'twirl#redStretchyIcon');
			points.get(0).properties.set('iconContent', 'A');
			points.get(lastPoint).properties.set('iconContent', 'B');

		}, function (error) {
			alert('Возникла ошибка: ' + error.message);
		});
	});
}


Пытался вызывать следующие функции:
myMap.setBounds(route.getBounds(), { margin: 50, checkZoomRange: true });
myMap.setZoom(myMap.getZoom());


Но ничего не изменилось, центр карты так и остается в точке Город1 и если маршрут достаточно длинный, то конечная точка Город2 находится за областью видимости.
  • Вопрос задан
  • 704 просмотра
Решения вопроса 1
rework
@rework
Помог ответ? В благодарность отметь его решением
Пример где это работает https://tech.yandex.ru/maps/jsbox/2.1/multiroute_v...

Настройка отвечающая за это boundsAutoApply
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы