Клуб API Карт

Найдено на тему «маршрутизация»:
API Матрицы расстояний и Маршрутизатора
Maps API
27 февраля 2018, 18:49

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

Раньше пользователям API Карт приходилось самостоятельно решать эти задачи, что требовало значительной разработки и большого количества запросов к сервисам API. Теперь Матрица Расстояний доступна в виде отдельного API.

API Матрицы Расстояний умеет:

  • Строить маршруты с учётом текущих пробок, а также прогноза пробок,  для маршрутов “в будущем”.
  • Строить маршруты для пешеходов, автомобилистов и общественного транспорта.
  • Автоматически привязывать точки к дорожному графу.

API Матрицы расстояний позволяет построить до 100 маршрутов за один HTTP запрос. В ответе содержится время в пути и протяженность для каждого маршрута.

Подключить API Матрицы расстояний

API Маршрутизатора обладает теми же возможностями, что и API Матрицы расстояний:

  • Может строить маршруты с учётом текущих пробок или прогноза пробок,  для маршрутов “в будущем”.
  • Маршруты доступны как для пешеходов и общественного транспорта, так и для автомобилистов.
  • Точки начала и конца маршрута автоматически привязываются к дорожному графу.

Кроме того, API возвращает полилинию маршрута с указанием типа транспорта для каждого сегмента пути.

Подключить API Маршрутизатора

12 комментариев
маршрутизация
Как получить коллекцию из прямых линий в маршруте
rarescrap
7 сентября 2017, 10:35

У меня есть мультимаршрут, который содержит в себе только один маршрут (multiRoute.getRoutes().getLength() == 1):

Маршрут

Как я могу получить коллекцию, состоящую из прямых линий, из которых состоит маршрут? И, что еще важнее, как получить точку начала и точку конца линии?
 

1 комментарий
multiRoute,маршрутизация,координаты полилинии,полилиния
маршрут
Руслан Стенников
1 сентября 2017, 22:14

Можнол ли на нести на карту несколько маршрутов и выбирать их кнопками на сайте ?

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

Привет всем!

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

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

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

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

1 комментарий
расчет маршрута,маршрутизация
Ограничение на количество и/или частоту обращения к маршрутизатору
Роман В.
5 мая 2017, 22:51

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

Имеется ли какое-либо ограничение на количество запросов к маршрутизатору, кроме 25000 в сутки для бесплатной версии js-API?

В моём проекте происходит построение большого количества маршрутов за раз, однако  больше 1147 маршрутов (год основания Москвы? ;)) ни разу не удавалось получить за  раз. При этом при повторном подключении маршруты снова строятся, но на каком-то моменте сервер перестает отвечать. Пробовал вводить таймауты и кликать руками — всё равно упираюсь в какой-то предел, 1147 или меньше.

Если убрать воду, то мой код выглядит следующимо бразом:

По клику на карту определяются координаты, для которых требуется построить маршрут, далее рекурсивно вызывается функция построения маршрута после того, как пришёл ответ от сервера для предыдущего маршрута. И так до тех пор, пока все координаты не будут обработаны.

function init () {

	var targetCoords = [55.848527, 37.583103],

	myMap = new ymaps.Map('map', {
	    center: targetCoords,
	    zoom: 11
	}, {
	    searchControlResults: 1,
	    searchControlNoCentering: true
	}),

	currentRoute,
	sourceCoordsArr,
	targetPoint;

	routesArr = [];
	var sourceCoordsArrLength;
	myMap.events.add('click', onMapClick);

    function evalRoute(source, target){
    	var currentRoute = new ymaps.multiRouter.MultiRoute(
    	{
    		referencePoints: [source, target],
    		params: { routingMode: 'masstransit'},
    	});

    	currentRoute.events.add("activeroutechange", function (event) {
    		var routes = currentRoute.getRoutes();
    		for (var i = 0; i<routes.getLength(); i++){
				// some code
    		}

	    	routeArr.push(route);	
	    	console.log('' + getCurrentTime() + '\t' + routeArr.length+' ' + route);

	    	if(routeArr.length == sourceCoordsArrLength){
	    		// some code
	    	}
	    	else{
	    		evalRoute(sourceCoordsArr[sourceCoordsArrIndex++], targetCoords);
	    		console.log('' + getCurrentTime() + '\t' +sourceCoordsArrIndex+' waitig..');
	    	}
		});
    }

    function evalCoordinates(targetCoords){
 		// some code
 		return sourceCoordsArr;
    }

    function onMapClick (e) {
    	metricArr = [];
	    clearTargetPoint();
	    targetCoords = e.get('coords');
	    targetPoint = new ymaps.Placemark(targetCoords, { iconContent: '' }, { preset: 'islands#blueCircleIcon' });
	    myMap.geoObjects.add(targetPoint);

	    // Generate source coordinates
	    sourceCoordsArr = evalCoordinates(targetCoords);
	    sourceCoordsArrLength = sourceCoordsArr.length;
	    
	    str = '' + sourceCoordsArrLength + ' точек';

	    evalRoute(sourceCoordsArr[sourceCoordsArrIndex++], targetCoords);
	}
}
ymaps.ready(init);

6 комментариев
маршрутизатор,маршрутизация,Ограничения API
Странно строятся маршруты в Уссурийске
(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 комментарий
маршрутизация,маршрутизатор,расчет маршрута
Как получить населенные пункты и города по пути следования маршрута?
Удалённый пользователь
23 декабря 2016, 13:36

Всем привет!

Подскажите ка решить следующую задачу, в поиске, к сожалению ничего не нашел.

Например, имеется маршрут Москва -Спб, как полчить список городов и населенных пунктов(название населенного пункта/города, координаты):

а) находящихся по пути следования маршрута
б) находящиеся на удалении в 5 км(радиус) от маршрута.

Заранее спасибо за помощь!

5 комментариев
маршрутизация,маршрутизатор
В объезд пробок, с учётом пробок, о чём речь, не понимаю
music.sucks999
26 ноября 2016, 18:32

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

Есть вот 

1) route.getJamsTime(); /* с неким учётом пробок*/

а есть

2) route.getTime(); /* без учёта пробок*/

А ещё есть возможность указать

3) avoidTrafficJams: true;

Как это всё между собой вяжется?

Первое - это время, как если я поеду по маршруту, но не ночью, а например в час пик? Или это время по альтернативному маршруту в объезд пробок?

Второе - это время, как если я поеду, например, ночью?

Третья опция влияет как-то на значения первых двух?

Когда на самих яндекс картах я строю маршрут между двумя точками и жму "в объезд пробок" - этои есть avoidTrafficJams? Какое значение выводится - getTime() или getJamsTime()? Какой сакральный смысл в альтернативном маршруте, если время на дорогу увеличивается?

1 комментарий
getJamsTime,getTime,avoidTrafficJams,яндекс пробки,маршрутизация
Тип линии пешеходного маршрута
Удалённый пользователь
18 октября 2016, 09:25

Здравствуйте. Нужно построить пешеходный маршрут. Строю, нормально. Но можно ли изменить стиль линии, т.е. сделать ее не пунктирной, а сплошной линией, как для автомобильного маршрута? Варианты с routeStyle, routeActiveStrokeStyle, routeStrokeStyle результата не дали.

И второй вопрос. Пешеходный маршрут и маршрут на общественном транспорте прорисовывают по тротуару. Можно ли расположить пешеходный маршрут по центру улицы?

5 комментариев
пешеходный маршрут,маршрутизация
Калькулятор доставки автомобилем и общ. транспортом
Константин
3 августа 2016, 15:59

Переделал пример калькулятора доставки из песочницы.

https://jsfiddle.net/buhacker/nvypee9g/#&togetherjs=wR0PUu9vGe

Интересно услышать замечания знающих людей

2 комментария
маршрутизация,калькулятор,примеры пользователей
Задать начало и конец маршрута multiRoute из SearchControl
Константин
28 июля 2016, 20:08

Никак не могу понять как установить начало и конец маршрута через SearchControl. В примерах для MultiRoute они задаются статично, в примерах использования SearchControl используется обычный route. MultiRoute нужен для построения пешеходных маршрутов

1 комментарий
маршрутизация,API 2.1
Поиск точки на маршруте по пройденному расстоянию.
vvnab
15 июня 2016, 10:47

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

Возникла задача поиска точки на маршруте по пройденному расстоянию.
Т.е. есть известный маршрут, есть показания одометра от начальной точки и нужно найти координаты места/точки на маршруте.

Если кто сталкивался, подскажите, пожалуйста, решение.

1 комментарий
маршрутизация,маршрутизатор,расчёт расстояния,измерение расстояний,расстояние
Пешеходная маршрутизация и новые метки в API
Maps API
14 июня 2016, 11:13

Недавно мы выпустили версию API 2.1.40, в которой появилась пешеходная маршрутизация, новые визуальные стили меток и контекстные подсказки при поиске по организациям.
Сегодня мы опубликовали примеры и подготовили для вас краткий обзор новой функциональности.

Пешеходная маршрутизация
Выбирайте те способы передвижения, которые будут наиболее удобны пользователям вашего проекта: на автомобиле, общественном транспорте или пешком. Для использования пешеходной маршрутизации укажите в параметрах routingMode: 'pedestrian', как показано в нашем примере. 
Обратите внимание, что на данный момент пешеходная маршрутизация доступна только для России, Украины, Беларуси и Казахстана. 

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

Настройки визуального отображения меток
Используйте новые визуальные стили меток для настройки отображения объектов на вашей карте. Мы добавили метки с подписями в стиле Яндекс.Карт и большой набор меток с пиктограммами, как в нашем Конструкторе.

Команда разработки API Яндекс.Карт

новости,API 2.1,навигация,маршрутизация,саджест,метка с изображением
API Яндекс.Карт версия 2.1.40
Maps API
27 мая 2016, 15:10

Сегодня мы выпустили новую версию API Яндекс.Карт 2.1.40. Для её подключения используйте адрес: api-maps.yandex.ru/2.1.40/?lang=ru_RU. 
Также мы переключили на новую версию api-maps.yandex.ru/2.1-dev/?lang=ru_RU и вскоре опубликуем обновленную документацию.


Добавлено:
- Пешеходная маршрутизация.
- Новые пресеты меток с иконками.
- Контекстные подсказки при поиске по организациям.
- Поддержка опции 'autoPan' для балуна в режиме панели

Изменено:
- Логика пользовательского взаимодействия с 'searchControl'.

Исправлено:
- В некоторых случаях не срабатывало событие 'resultHide'.
- При вызове метода 'destroy()' карты падала ошибка в 'suggest' у 'searchControl'.
- Не появлялось сообщение "Идёт запрос к серверу" в 'searchControl'.
- Не отображалось время работы организации в поиске, если API подключен с параметром coordorder=longlat.
- Ошибки при использовании карты Конструктора в Angular приложении.
- Ошибка при задании состояния линейки без карты 
- Не отображался блок "открыть в Яндекс.Картах" в Mozilla Firefox при загрузке карты в скрытом контейнере.
- Оптимизированы поисковые запросы.
- Оптимизированы макеты и css.
- Проблемы производительности тайлов в Mozilla Firefox.

6 комментариев
API 2.1,новости,обновление,маршрутизация,саджест
ymaps.route один или несколько участков на самолёте, т.е. на прямую.
FeaTness
23 мая 2016, 14:29

Приветствую Всех!

Я правильно понимаю, что в Яндекс.Картах нет возможности проложить нижеизложенный маршрут?

Из города по дорогам проложить маршрут до аэропорта, из аэропорта в другой аэропорт по прямой, из другого аэропорта до города по дорогам.

1 комментарий
маршрутизация
Как объединить несколько полигонов в один?
Пётр Рудой
30 декабря 2015, 04:25

Как несколько полигонов объединить в один (или в одну группу), чтоб потом можно было проверить, принадлежит ли какой-то адрес какому-нибудь из полигонов или лежит за пределами?

https://tech.yandex.ru/maps/jsbox/2.1/route_inside_polygon вот тут это работает. Но там только один полигон и длину участков не показано, как вычислить. У меня же несколько полигонов и надо вычислить длину маршрута в городе и длину за пределами.

Помогите плз.

3 комментария
маршрутизация,API 2.1,полигоны
Построение маршрута только по одной стране
Удалённый пользователь
21 декабря 2015, 11:19

Доброго дня

 

Имеется два города, Владивосток и Новосибирск, это начальная и конечная точка маршрута.

Как проложить маршрут и соответственно получить расстояние от точки до точки, используя только дороги России?

Сейчас маршрут выглядит так: 

 

Как видно из скриншота, часть пути проходит по Китаю, что не есть правильно.

P.S. Про мультимаршруты знаю, но это не вариант, клиент вводит начальную и конечную точку, по которым ему и считается маршрут

1 комментарий
маршрутизация,API 2.1
Кнопки поиска вне карты для построения маршрута
Евгений Феклистов
11 декабря 2015, 12:53

Здравствуйте.
Использую данный пример - https://tech.yandex.ru/maps/jsbox/2.1/deliveryCalculator
Необходимо кнопки поиска начального и конечного пункта вынести в отдельную форму, использую - http://dimik.github.io/ymaps/examples/geocoder-form/ , но не получается применить данный пример к построению маршрута.
Помогите пожалуйста :)

3 комментария
маршрутизация,API 2.1,контролы
Заголовок не указан
evgeny.e.g
10 декабря 2015, 19:48

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

Учитываются ли при построении маршрутов железные дороги? Т.е. можно ли построить маршрут по ним, а не по автодорогам?

1 комментарий
маршрутизация
Как вместо панели поиска конечной точки сделать выпадающий список с несколькими точками, например аэропортами
karaka877
5 декабря 2015, 19:32

Есть пример из песочницы, но мне необходим выбор конечной точки из списка заданных адресов, вот пример https://tech.yandex.ru/maps/jsbox/2.1/deliveryCalculator

1 комментарий
маршрутизация,API 2.1