Клуб API Карт

Массив точек для маршрутизатора

Половников Владимир
30 ноября 2015, 19:14

Доброе время суток. Извините, если подобная темя уже была, но все же... . Как добавить маршрут на карту понятно, для этого достаточно добавить 2 точки и яндекс карты сами начертят оптимальный маршрут.

var router = new YMaps.Router([new YMaps.GeoPoint(37.658509,55.758331), new YMaps.GeoPoint(37.594306,55.735429)]);

 

А как добавить более 2 точек? Дело в том, что из базы данных будут извлекатся от 4 до 30 точек (координат) и каждый раз переписывать вручную координаты, добавлять, удалять не вариант. Пытался автоматизировать этот процесс, но никак не могу понять как правильно это сделать. Пытался добавить массив из этих точек:

// Создавать такой массив можно и лучше в цикле, как это делать понятно

var arrPoints =  [new YMaps.GeoPoint(37.658509,55.758331), new YMaps.GeoPoint(37.658509,55.758331),
new YMaps.GeoPoint(37.658509,55.758331), и т.д. ];

 

// А как этот массив добавить на маршрут - ума пока что не хватает

var router = new YMaps.Router([arrPoints]); // так не работает

Подскажите, пожалуйста, как быть, ощущение такое, копаю где-то рядом, но все-равно мимо.
3 комментария
Подписаться на комментарии к посту

 Насколько я знаю маршрутизатор не поддерживает более 8 точек за раз

var router = new YMaps.Router(arrPoints);

Половников Владимир
1 декабря 2015, 07:00

Огромное спасибо!!! Всего-то надо было без квадратных скобок написать. Мне даже стыдно, что такую мелочь не учел ))) второй день голову ломал, уже рекурсии применял и прочее, а оказалось .... . Спасибо еще раз. А по поводу точек - учту.

Половников Владимир
1 декабря 2015, 11:46

По поводу не более 8 точек за раз, решил проверить, добавив 11 точек - заработало ))).