Клуб API Карт

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

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

Маршрут

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

1 комментарий
multiRoute,маршрутизация,координаты полилинии,полилиния
как открыть multiroute balloon
Татьяна
9 июня 2017, 22:41

Подскажите, как лучше всего открывать балун мультимаршрута автоматически при добавлении его на карту?

1 комментарий
multiRoute,Balloon
multiRoute добавить WayPoints
Удалённый пользователь
9 мая 2017, 23:41

Добрый день, вопрос такой:

у меня есть маршрут

var multiRoute_1 = new ymaps.multiRouter.MultiRoute({
        // Описание опорных точек мультимаршрута.
        referencePoints: [
            "Москва","Тула"
        ],
        params: {
            results: 1
        }
});

myMap.geoObjects.add(multiRoute_1);

к этому маршруту, должна быть возможность, добавить или удалить статические точки, например хотим добавить к маршруту, Орел и Калугу.

Как это реализовать? Через удаление и новое добавление? Или есть возможность редактирвоания этого маршрута на карте?

И еще одно но, нужно получать километраж при удалении или добавлении.

Что то типа:

multiRoute_1.model.events.add("requestsuccess", function (event) {

console.log(multiRoute_1.getRoutes().get(0).properties.get("distance").value);

});

Какие есть варианты?

5 комментариев
multiRoute
Названия у точек multiRouter
Sh3nku
4 апреля 2017, 15:43
var multiRoute = new ymaps.multiRouter.MultiRoute({
    // Описание опорных точек мультимаршрута.
    referencePoints: [
        [55.734876, 37.59308],
        "Москва, ул. Мясницкая"
    ],
    // Параметры маршрутизации.
    params: {
       // Ограничение на максимальное количество маршрутов, возвращаемое маршрутизатором.
       results: 2
    }
});

как в данном случае обозвать первую точку (55.734876, 37.59308) ? (например "везем отсюда")

3 комментария
multiRoute
Кратчайший маршрут
djidi1
25 января 2017, 10:24

прокладываю маршрут с помощью route, со следующими настройками:

 ymaps.route(route_addresses, {
        mapStateAutoApply: true,
        avoidTrafficJams: false
    }).then(function (route) {

API всегда возвращает самый быстрый маршрут:

Как сделать чтобы выбирался самый короткий маршрут по километражу?

1 комментарий
route,multiRoute
Расстояние между точками в переменную.
Жуковский Павел
24 ноября 2016, 16:19

Добрый день.

Создал карту с помощью такого кода

function init () {
    var multiRoute = new ymaps.multiRouter.MultiRoute({
        // Описание опорных точек мультимаршрута.
        referencePoints: [
            'Россия, Москва, Профсоюзная улица, 1/24 ',
            'Москва, проспект мира 1'
        ],
        // Параметры маршрутизации.
        params: {
            // Ограничение на максимальное количество маршрутов, возвращаемое маршрутизатором.
            results: 1
        }
    }, {
        // Автоматически устанавливать границы карты так, чтобы маршрут был виден целиком.
        boundsAutoApply: true
    });

    // Создаем карту с добавленными на нее кнопками.
    var myMap = new ymaps.Map('mapv', {
        center: [55.750625, 37.626],
        zoom: 10
    }, {
        buttonMaxWidth: 300
    });

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

}

ymaps.ready(init);

Вопросы:

1. Мне нужен только один вариант маршрута, можно ли как-то не использовать MultiRoute ? Если да, то как перевести на что-то вроде SingleRoute

2. Как получить длин маршрута (не важно, в метрах или километрах).

Спасибо

1 комментарий
API yandex,multiRoute,route
Не получается изменить цвет маршрута и иконки маркеров
СЗ
9 ноября 2016, 07:53

Привет.

Использую этот пример http://dimik.github.io/ymaps/examples/routes-menu/, само решение подходит полностью, но реализация сложноватая, примеры в песочнице, документация не помогли. Куда там влезть в код, чтобы изменить цвет маршрута и иконки маркеров, и цвет дополнительного маршрута. 

Я добавил в код multiRoute: true

    _getRoute: function (coords, callback) {
        ymaps.route(coords, {
          mapStateAutoApply: true,
          multiRoute: true
        }).then(callback);
    }

Все способы предпринимал в этом отрезке кода

//route-selector-map-view.js

function RouteSelectorMapView(map) {
    this._map = map;
    this._routes = new ListCollection();
    this._activeItem = null;
}

RouteSelectorMapView.prototype = {
    constructor: RouteSelectorMapView,
    render: function (data) {
        this._routes.properties.set('items', data);
        this._map.geoObjects.add(this._routes);		

        return this;
    },
    clear: function () {
        this._routes.removeAll();
        this._map.geoObjects.remove(this._routes);
        this._routes.properties.unset('items');

        return this;
    },
    setActiveItem: function (index) {
        var route = this._routes.get(index);

        if(route) {
            (this._activeItem = route)
               .options.set('visible', true);				       
               this._map.setBounds(route.properties.get('boundedBy'));
        }
        else {
            var self = this,
                coords = this._routes.properties.get('items')[index].path;

            this._getRoute(coords, function (route) {
                self._routes.add(
                    self._activeItem = route,
                    index
                );
            });
        }

        return this;
    },
    unsetActiveItem: function () {
        if(this._activeItem) {
            this._activeItem.options.set('visible', false);
            this._activeItem = null;
        }

        return this;
    },
    _getRoute: function (coords, callback) {
        ymaps.route(coords, {
            mapStateAutoApply: true,
			multiRoute: true
        }).then(callback);
    }	
	
};

Надеюсь на помощь. Спасибо.

3 комментария
route,multiRoute,menu,routes
Маршрут - балун на WayPoint
psytechno604
6 октября 2015, 10:15

Зача - повесить балун с текстом, содержащим координаты и геокод (название места) на waypoint.

Маршрут строю как в примере https://tech.yandex.ru/maps/jsbox/2.1/multiroute_view_options. Там есть примеры про балун на маршрут - но мне надо на конечные точки. Там же в примерах нашёл, как повесить событие (например, click: multiRoute.events.add('click', function(e) {...})) на маршрут. В принципе, тоже решение - брать координаты клика (если их конечно можно получить), если близко к waypoint, то отображать baloon. Но тут основная проблема - что значит "близко"? Будет зависеть от масштаба карты, да и маркер может быть произвольной формы. Поэтому хотелось бы как-то более изящно это сделать, повесив событие на сам маркер. Вопрос - как? 

4 комментария
маршрутизация,события,multiRoute,балун,метка