Клуб API Карт

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

Jonstonrich
8 августа 2012, 15:26

http://test.codemaster.com.ua/search_action_ref.php - попробуйте несколько раз проложить маршрут.Почему в геооколекцию элементы заносятся в рандомном порядке.И почему после прокладки нескольких маршрутов начинает так жутко тормозить?С ТОРМОЗАМИ Я РАЗОБРАЛСЯ

 

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

Какие элементы заносятся рандомно, как это можно увидеть.

Не совсем понял как проложить несколько маршрутов - одновременно получается активировать два + какая-то белая чтука добавляется.

Тормозов не заметил.

Белая штука - это кратчайший отрезок маршрута который пролегает от точек "До" и "От".Вот скрипт выбирает 2 варианта маршрута (сбоку выводятся кнопки с именами маршрутов) попробуй несколько раз еще нажать на проложить маршрут и увидишь что порядок иногда неняется местам.Почему так?

Я вам даже более скажу - маршруты могут вообще разные приходить.

Виновата квантовая флуктуация целочисленных полей в пространстве распределенного кластера серверов (тех кто за этим стоит еще не нашли. Это заговор!)

А вот если искать от четкого текстового адреса до четкого адреса - тут будет стабильнее.

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

Роутер на самом деле может отдавать различные результаты.

Даже известны места где это особо любит делать.

сейчас делай то же посмотри в консоль 

смотрю в книгу вижу фигу.

Что я должен был из консоли понять?

объекты выводятся в скаком порядке

Пожалуйста читайте свои сообщения перед отправкой.

в консоли выводятся данные об объектах.Можно проследить в каком порядке они выводятся и в каком порядке выводятся кнопки.Надписи на кнопках соответствуют названию маршрута.

ок, вы выводите в консоль непонятно что пришедшее с сервера после чего запускаете асинхронный роутер карт.

Это точно гарантирует что порядок получения ответов не будет соблюдаться.

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

Вот и все.

как это исправить?

Создать кнопки заранее, в нужном и известном порядке.

И передавать экземпляр кнопки вместе с точками маршрута.

Отличная идея, благодарю!

что-то оно вобще не работает

TypeError: point_from.geometry is undefined
var coords_start = point_from.geometry.getCoordinates();

Наверное я правил код.Посмотри еще раз.thekashey я все объяснил

Это конечно не надо делать в цилке

Достаточно один раз

var balloonLayout = ymaps.templateLayoutFactory.createClass('$[properties.iconContent]$[properties.numbers]');ymaps.layout.storage.add('my#Layout' , balloonLayout);

Спасибо исправил.А как выводить в одном и том же порядке маршруты?

Если у тебя есть упорядоченный список с маршрутами (массив) ты можешь при его переборе и получении данных связывать обработчик получения ответа с индексом маршрута в массиве (через замыкание) и класть ответ в другой результирующий массив по тому же индексу.

Таким образом данные маршрутов будут идти в том же порядке

а как связывать индексы и что такое замыкание?И еще мне нужно сортировать маршруты по длинне или времени  проезда.