Openlayers-3 getGeometry(). GetClosestPoint не возвращает правильную точку на трассировке GPX
После загрузки трассировки GPX в векторный слой с помощью ol.format.GPX() я хочу получить информацию о заданной точке трека, нажав на нее. Я пытаюсь сделать это с помощью getClosestPoint(), но всегда получаю точку на самом юге трассы, а не на ближайшей точке.
Код довольно прост:
map.on('click', function(e) {
var feature = map.forEachFeatureAtPixel(e.pixel, function(feature) { return feature;});
var pt = feature.getGeometry().getClosestPoint(e.pixel);
var strFunc = ol.coordinate.createStringXY(4);
var A = strFunc(ol.proj.transform(pt, 'EPSG:3857', 'EPSG:4326'));
info.innerHTML = A;
console.log(pt)
}
Это похоже на работу. В журнале консоли я получаю точку с интересующей меня информацией: координаты, высота и время.
Однако эта возвращенная точка - это не точка рядом с щелчком, а всегда точка, расположенная на крайнем юге трассы.
Это ошибка или я что-то упустил?