Клуб API Карт

получить длину линейки (ruler)

youforceru
24 июля 2013, 23:14

Здравствуйте.

Не могу получить длину линейки в метрах или километрах.

Получается только получить координаты точек, соединенных линиями методом getState().

Есть ли метод для получения именно расстояния линейки?

http://api.yandex.ru/maps/doc/jsapi/2.x/ref/reference/behavior.Ruler.xml здесь не нашел.

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

нашел как между двумя точками расстояние найти:

http://api.yandex.ru/maps/doc/jsapi/2.x/ref/reference/ICoordSystem.xml#getDistance

Координаты в базе хранятся в таком виде:

37.83224772,55.82501764~0.00068665,-0.01237075~-0.04737854,0.00309306~0.04051208,0.01121027

В принципе, можно сначала найти расстояние между двумя первыми точками, потом сложить с расстоянием между следующей точкой и второй и т.д.

Но хотелось бы узнать, нет ли более надежного и быстрого способа?

Правильный способ - это взять геометрию линейки - behavior.ruler.geometry. Это будет ломаная. Дальше пройтись циклм по ее точкам и посчитать расстояния между точками.

да, я так и сделал