Я работаю на примере исходного кода GPX openlayers 5.x, доступного по адресу https://openlayers.org/en/latest/examples/gpx.html
Я могу успешно загрузить свой файл GPX и отобразить его на карте, но мне не удалось получить его степень, чтобы узнать минимальные / максимальные широты и долготы, чтобы динамически разместить его на карте.
Это мой код (идентичный примеру):
var GpxVector = new VectorLayer({
source: new VectorSource({
url: 'https://host.domain.com/filename.gpx',
format: new GPX(),
}),
style: function(feature) {
return GpxStyle[feature.getGeometry().getType()];
}
});
map.addLayer(GpxVector);
Файл GPX отображается правильно, но я не могу определить его размер, чтобы изменить размеры карты, чтобы увеличить ее. Я пробовал:
console.log(GpxVector.getSource().getFeatures());
, который не дает возможности разбирать:
length: 0
__proto__: Array(0)
обратите внимание, что источник есть и правильно отображается на карте:
console.log(GpxVector.getSource());
дает:
c {disposed_: false, pendingRemovals_: {…}, dispatching_: {…}, listeners_: {…}, revision_: 0, …}
но экстентов нет:
console.log(GpxVector.getSource().getExtent());
дает:
[Infinity, Infinity, -Infinity, -Infinity]
Также VectorLayer не имеет степени:
console.log(GpxVector.getExtent());
дает:
undefined
Может ли кто-нибудь мне помочь и сказать, как я могу получить доступ к экстентам файла GPX или хотя бы к его точкам, чтобы я сам мог рассчитать его?
Буду признателен за любую помощь!