Добавил на Яндекс.Карту стандартный элемент YMaps.ToolBar.RulerButton();
Соответственно, кнопка работает как надо. То есть при нажатии на неё, я могу выбирать на карте любой маршрут и в каждой точке при выборе пишется расстояние в удобном виде. Задача простая, нужно общее посчитанное расстояние вывести, например, через alert();
Я попробовал так:
YMaps.Events.observe(map, map.Events.Click, function(){
var points = map.getRulerState().split('~');
if(points.length>1){
var firstPoint = points[0];
var secondPoint = points[points.length-1];
var geoPoint1 = new YMaps.GeoPoint.fromString(firstPoint);
var geoPoint2 = new YMaps.GeoPoint.fromString(secondPoint);
var geoCordSystem = new YMaps.GeoCoordSystem();
var distance = geoCordSystem.rulerDistance(geoPoint1, geoPoint2);
alert(distance);
}
Но во-первых, срабатывает метод раньше, чем линейка отрисовала точку, т.к. событие указано map.Events.Click. Как мне получить доступ к самому стандартному объекту, который отвечает за рисование линий и подсчет расстояния.
Заранее спасибо за помощь.