Клуб API Карт

Получить координаты вершины полилинии Polyline по клику на ней

sergeygergel
31 марта, 23:54

Как получить координаты клика на полилинии myPolyline (в любом месте, кроме вершин) я понял.  Код ниже:

myPolyline.events.add("click", function (e) {
			console.log(e.get("coords"));
			
		});

Подскажите, пожалуйста, как получить координаты клика по любой из вершин?

6 комментариев
Подписаться на комментарии к посту
Через поиск ближайшей
console.log(myPolyline.geometry.getClosest(e.get("coords")));
Спасибо за подсказку куда копать, но на данный момент на код:
testPolyline.events.add("click", function (e) {console.log(testPolyline.geometry.getClosest(e.get('coords'))); });
В консоли получаю:
Object {position: Array[2],
vector: Array[2], closestPointIndex: 9,

distance: 45.94511336441551}
closestPointIndex:9
distance:45.94511336441551
position:Array[2]
0:48.40672002200966
1:32.22915234399995


В целом координаты "0" и "1" соответсвуют  вершине по которой произведён щелчек, но как именно эти координаты получить в "чистом" виде --> [48.40672002200966, 32.22915234399995] не могу разобраться. Помогите, пожалуйста.
sergeygergel,
Координаты в поле position 
Я, кажется разобрался. Вот код:
___________________________________
testPolyline.events.add("click", function (e) {

console.log(

testPolyline.geometry.getClosest(e.get('coords')).closestPointIndex, //эта строка возвращает индекс ближайшей к клику вершины

testPolyline.geometry.getClosest(e.get('coords')).position);// эта строка возвращает координаты клика

});

__________________________________

В принципе, меня это устраивает, но мне кажется, что должна быть какая-то возможность получить точные координаты этой "closestPointIndex" ближайшей к клику вершины.

Это было бы идеально. Или я ошибаюсь?
[Решено] Получить координаты ближайшей вершины ломаной по "клику" на полилинии.

_______________________________
myPolyline.events.add("click", function (e) {

console.log(myPolyline.geometry.get(myPolyline.geometry.getClosest(e.get('coords')).closestPointIndex)); // координаты вершины ломаной (полилинии) ближайшей к "клику"

});

______________________________

Спасибо dimik за советы и рекомендации!!!
sergeygergel,
все проще через position


myPolyline.events.add("click", function (e) {
  console.log(myPolyline.geometry.getClosest(e.get('coords')).position);
});