Клуб API Карт

Много viaPoints

backhood
22 июля 2012, 20:03

Доброго времени суток! Продолжаю изучать API Яндекс.Карт.

Возник вопрос: в коде ниже указан пример маршрута с одним viaPoint'ом (взят из примера):

 

<script type="text/javascript">
        // Как только будет загружен API и готов DOM, выполняем инициализацию
        ymaps.ready(init);
        function init () {
            var myMap = new ymaps.Map("map", {
                    center: [57.131311, 34.576128],
                    zoom: 5
                });
            // Прокладывание маршрута от станции метро "Смоленская"
            // до станции Третьяковская (маршрут должен проходить через метро "Арбатская").
            // Точки маршрута можно задавать 3 способами:  как строка, как объект или как массив геокоординат.
            ymaps.route([
                'Москва, метро Смоленская',
                {
                    type: 'viaPoint', // метро арбатская - транзитная точка (проезжать через эту точку, но не останавливаться в ней)
                    point: 'Москва, метро Арбатская'
                },
                [55.74062, 37.62561] // метро "Третьяковская"
            ], {
                // Опции маршрутизатора
                mapStateAutoApply: true // автоматически позиционировать карту
            }).then(function (route) {
                myMap.geoObjects.add(route);
            }, function (error) {
                alert("Возникла ошибка: " + error.message);
            });
        }
    </script>

 

А как сделать 2 и более? Пробовал так:

 

...
ymaps.route([routePoints[2], { type: 'viaPoint', point: [55.76, 37.64] }, { type: 'viaPoint', point: [55.86, 37.84] }, routePoints[1]], { ...

 

так

 

...
ymaps.route([routePoints[2], { type: 'viaPoint', point: [55.76, 37.64], type: 'viaPoint', point: [55.86, 37.84] }, routePoints[1]], { ...

 

и даже так

 

...
ymaps.route([routePoints[2], { type: 'viaPoint', point: [55.76, 37.64]; type: 'viaPoint', point: [55.86, 37.84] }, routePoints[1]], { ...

но маршрут все время пропадает (в последний раз даже карта пропала).

Ткните пальцем, пожалуйста 

4 комментария
Подписаться на комментарии к посту

 

А как сделать 2 и более? Пробовал так:

 

...
ymaps.route([routePoints[2], { type: 'viaPoint', point: [55.76, 37.64] }, { type: 'viaPoint', point: [55.86, 37.84] }, routePoints[1]], { ..

так вроде и должно работать

все остальное (точка-с-запятой в инициализации объекта) невалидный javascript-синтаксис, поэтому и карта пропадала

В том - то вся и соль, что так не работает =( А валидность нарушал уже от безысходности ...

дай ссылку

Как ни странно, проблема решилась тем, что от начала и до конца стянул js код встаривания карты из примера и подстроил его под себя, так и не найдя ошибки ... Но все - равно, спасибо за ответы ;-)