Исходная задача: выравнивать маршрут по зараннее введенным опорным точкам.
Соответсвенно добавил обработчик события наведения на точку:
YMaps.Events.observe(placemark, placemark.Events.MouseEnter, function(placemark, val) {
//получаем ближайшую точку маршрута от остановки
var closest = pl.getClosestPoint(placemark.getGeoPoint());
var dist = closest.point.distance(placemark.getGeoPoint());
//если расстояние меньше 2 метров
if (dist < 2) {
//заменяем ближайшую точку ломаной координатами остановки
pl.splicePoints(closest.index, 1, placemark.getGeoPoint());
alert("выравняли")
}
});
Приосходит ложное срабатывание при приближении вспомогательной точки ломаной к опорной точке, т.е. getClosestPoint выдает данные основной точки, хотя расстояние считалось от вспомогательной. Так и должно быть ?