Клуб API Карт

Заголовок не указан

Пост в архиве.

Здравствуйте.Есть массив координат точек в формате json:

[{

"first_point":{"coords_x":"48.5635","coords_y":"39.2161"},

"last_point":{"coords_x":"48.5623","coords_y":"39.2721"},

"middle_point":[{"coords_x":"48.563","coords_y":"39.2355"},{"coords_x":"48.5583","coords_y":"39.2575"}]},...}]

как мне вывести маршрут?Первую и последнюю точки я сединяю без проблем.А смежные?И как сделать что бы не мыводились метки начала и конца?Может быть есть другие способы проложения маршрута?(соедидения точек).Спасибо за ответы!

9 комментариев

 

как мне вывести маршрут?Первую и последнюю точки я сединяю без проблем.А смежные?

Сформируйте входные данные для метода ymaps.route

на основании своего JSON

 

И как сделать что бы не мыводились метки начала и конца?

http://clubs.ya.ru/mapsapi/replies.xml?item_no=27363

 

Слава Русов
28 января 2016, 04:10

Спасибо за ответ!То есть мне нужно занести все в один объект а потом результат подставить вм параметры?самое интересное то что я не могу его сформировать а мануалы читать некогда.Немогли бы вы помочь мне сформировать     эти данные?

что такое middle_point?

Слава Русов
28 января 2016, 04:10

Это координаты промежуточных точек.Там должно быть middle_points если вернее записать

можно сделать вызовом одного метода

 

var myRoute = route.middle.reduce(function (prev, point, index, points) {

    prev.splice(-1, 0, { type : 'ViaPoint', point : [point.x, point.y] });

    return prev;

}, [ [route.first.x, route.first.y], [route.last.x, route.last.y] ]);

 

Sergey Konstantinov
28 января 2016, 04:10
А в чем у вас возникла проблема?
Слава Русов
28 января 2016, 04:10

у middle_points несколько точек с координатами.Их может быть 1 а может быть 100.Как их определить ниже:

        routes.forEach(function(route){

            ymaps.route([

                [route['first_point']['coords_x'] , route['first_point']['coords_y']],

                //Вот здесь,

                [route['last_point']['coords_x'] , route['last_point']['coords_y']]

            ]).then(function(route){

                myMap.geoObjects.add(route);

            });

        });

Слава Русов
28 января 2016, 04:10

Вы накверное не поняли в чем пароблема?Какие операции нужно проделать что бы объединить все транзитные точки в одну переменную и подставить их как type: 'viaPoint'.Я не знаю как можно еще объяснить