Клуб API Карт

Найдено на тему «расчет маршрута»:
Как получить длину мультимаршрута?
rarescrap
21 августа 2017, 09:49

Добрый день. Я хочу научить карту прокладывать маршрут через несколько точек и отображать длину проложенного маршрута. У меня получилось машрут проложить, но с длиной возникли проблемы:
1) multiRoute.getRoutes() возвращает пустой массив
2) multiRoute.getActiveRoute() возвращет null

Я знаю, что есть пример в песочнице (https://tech.yandex.ru/maps/jsbox/2.1/multiroute_data_access), но я не могу его пока использовать т.к. multiRoute.getRoutes() ничего не возвращет.

Код карты:

function init () {
	/**
	 * Тестовый массив с метками адресов
	 */
	var adresses = [
		  [52.282071, 104.287999],
		  [52.276622, 104.316408],
		  [52.262905, 104.302418],
		  [52.225794, 104.311010]
		];
	
    /**
     * Создаем мультимаршрут.
     * Первым аргументом передаем модель либо объект описания модели.
     * Вторым аргументом передаем опции отображения мультимаршрута.
     * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/multiRouter.MultiRoute.xml
     * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/multiRouter.MultiRouteModel.xml
     */
    var multiRoute = new ymaps.multiRouter.MultiRoute({
        // Описание опорных точек мультимаршрута.
        referencePoints: [
          [52.282071, 104.287999],
  		  [52.276622, 104.316408],
  		  [52.262905, 104.302418],
  		  [52.225794, 104.311010]
        ]
    }, {
        // Автоматически устанавливать границы карты так, чтобы маршрут был виден целиком.
        boundsAutoApply: true
    });

    // Создаем карту с добавленными на нее кнопками.
    var myMap = new ymaps.Map('map', {
        center: [55.750625, 37.626],
        zoom: 7,
    }, {
        buttonMaxWidth: 300
    });
   
    // КОРЕНЬ ЗЛА!
    var a = multiRoute.model.getRoutes();

    // Добавляем мультимаршрут на карту.
    myMap.geoObjects.add(multiRoute);
}

ymaps.ready(init);

Скажите, что я делаю не так и как узнать длину мультимаршрута?

2 комментария
маршрутизатор,расчет маршрута,Мультимаршрут
Прокладка маршрута с исключением заданной области
roman.piontik@growfood.pro
19 июня 2017, 12:27

Привет всем!

Не нашел примера решения подобной задачи, хотя мне она кажется достаточно естественной - прокладка маршрута с исключением заданной области. 

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

Может кто-то сталкивался с подобной задачей? Как решали? 

P.S. Естественно через API.

1 комментарий
расчет маршрута,маршрутизация
Странно строятся маршруты в Уссурийске
(CDC)
5 мая 2017, 11:06

Мы используем платное API и наш клиент жалуется, что по Уссурийску маршруты строятся несколько странно.

Тут с ним сложно не согласиться. Вот типичный пример, который можно проверить в песочнице:

ymaps.ready(init);
function init() {
    var myMap = new ymaps.Map("map", {
            center: [43.76, 131.8],
            zoom: 9
        });
    ymaps.route([
        [43.83, 131.63],
        [43.8, 131.6],
        [43.76, 132]
    ]).then(function (route) { myMap.geoObjects.add(route); });
}

Здесь мы видим, что после второй точки маршрут уходит куда-то в дебри для разворота, что увеличивает маршрут на приличное количество километров.

Что это?

Кривой граф дорог? Не выставлены какие-то параметры маршрутизации?

Как нам избежать такой ситуации?

1 комментарий
маршрутизация,маршрутизатор,расчет маршрута
Как построить маршрут, минуя (избегая) заранее расставленные точки на карте?
defriter
30 апреля 2017, 00:27

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

Есть восможность построения маршрута и проложение его через дополнительные точки на карте. А если ли подобная возможность, но чтобы маршрут строился так, чтобы эти точки не затрагивались?

1 комментарий
точки,Маршрут и точка,расчет маршрута
Расчет дистанции до ближайшей точки
Вадим Иванов
15 февраля 2017, 16:35

У меня есть 25 офисов по всей России.

Нужно определить ближайший офис и вывести количество километров до него.

Я использовал маршрутизатор. Получается 25 запросов на 1 пользователя.

Ограничение Яндекса 25000 запросов в сутки. Значит мне можно определить ближайший офис 1000 раз в день. Но для меня этого мало.

Правильно ли я решаю задачу и можно ли иначе? 

4 комментария
расчет маршрута
Помогите заставить функции видеть полигон
Lobsterbob1
12 сентября 2016, 10:43

Помогите, пожалуйста, разобраться...День уже совладать не могу с эитми полигонами.

Есть код вот тут: http://other.deadpool.shn-host.ru/test/map.html , который без добавления полигонов нормаьлно считает сумму/расстояния, но как только в функцию рассчета расстояния добавить что-то связаное с полигоном, функция тут же перестает рабтать (сейчас там в ней расположен вывод в консоль объекта ТТК полигона), если вывод в консоль закоментировать - функция работает как надо.

Задача разместить полигоны и к стоимости за кмлометраж добавлять фиксированную стоимость за въезд в пределы ТТК.

Знаю уже как проверять принадлежность точки полигону, только вот не могу заставить функции видеть этот полигон, чтобы проверять принадлежность точки... Для карты это полигон всегда undefined, виден но не существует.... Голову уже сломал =(

2 комментария
полигоны,функции,расчет маршрута,принадлежность точки