Клуб API Карт

Определение направления (шоссе)

antontotsky
1 августа 2013, 11:34

Всем привет!

Перейду сразу к делу, нужно по клику на карте определять направление, а именно шоссе (Волоколамское, Ленинградское, Ярославское и др.)

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

Я думал создавать полигоны-многоугольники и обрабатывать клики по ним

Есть ещё вариант создать линию вдоль шоссе и искать после клика ближайшую точку по всем линям и сравнивать расстояние

Может кто-то уже такое делал и поделится опытом?

Заранее спасибо!

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

 

Есть ещё вариант создать линию вдоль шоссе и искать после клика ближайшую точку по всем линям и сравнивать расстояние

Кажется это оптимальный вариант

Понял, тогда так и буду делать. А то мало ли кто-нибудь что-то предложил бы ;)

Спасибо!

Он выглядит самым простым и правильным.

Вам нужны 2 метода:

1. Определить ближайшую точку на ломаной можно методом getClosest ее геометрии

2. Расчитать расстояние между 2-мя точками, - метод getDistance у координатной системы.

Да-да, уже пользовался этими функциями для определения расстояния до Москвы :)

Не подскажете каким более удобным способом это можно сделать?

На Яндекс.Картах можно рисовать отрезки, но как мне получить массив координат?

Можно сделать экспорт нарисованного в формате YMapsML, - Вы получите коллекцию.

Из нее можно вытащить все геообъекты и их геометрии.

Ооо, здорово! Спасибо большое!

Мало ли кому понадобится:

Рисуете, сохраняет, жмете по кнопке "Ссылка" в справом верхнем углу, переходите, вам перекидывает на:

http://maps.yandex.ru/?um=9PNG0t033-F0gdq-PTSCqOS3DcCtRMZl&ll=37.092752,56.107881&spn=2.169800,0.658429&z=10&l=map

Значение параметра um - это Ваша карта:

http://maps.yandex.ru/export/usermaps/9PNG0t033-F0gdq-PTSCqOS3DcCtRMZl/

В описании geoXml.load() метода подставляется именно эта ссылка