Openlayers 如何获取GPX文件的范围以在地图上显示它(使用openalyers)
我正在研究openlayers 5.x的GPX源代码示例,可在 我能够成功加载我的GPX文件并将其显示在地图上,但我无法获取其范围,以了解最小/最大纬度和经度,以便在地图上动态拟合它 这是我的代码(与示例相同): GPX文件显示正确,但我无法获取其范围来调整地图大小以进行缩放。我试过:Openlayers 如何获取GPX文件的范围以在地图上显示它(使用openalyers),openlayers,openlayers-5,Openlayers,Openlayers 5,我正在研究openlayers 5.x的GPX源代码示例,可在 我能够成功加载我的GPX文件并将其显示在地图上,但我无法获取其范围,以了解最小/最大纬度和经度,以便在地图上动态拟合它 这是我的代码(与示例相同): GPX文件显示正确,但我无法获取其范围来调整地图大小以进行缩放。我试过: console.log(GpxVector.getSource().getFeatures()); 它不提供要分析的功能: length: 0 __proto__: Array(0) 请注意,源在那里,并在地
console.log(GpxVector.getSource().getFeatures());
它不提供要分析的功能:
length: 0
__proto__: Array(0)
请注意,源在那里,并在地图上正确显示:
console.log(GpxVector.getSource());
给出:
c {disposed_: false, pendingRemovals_: {…}, dispatching_: {…}, listeners_: {…}, revision_: 0, …}
[Infinity, Infinity, -Infinity, -Infinity]
undefined
但没有范围:
console.log(GpxVector.getSource().getExtent());
console.log(GpxVector.getExtent());
给出:
c {disposed_: false, pendingRemovals_: {…}, dispatching_: {…}, listeners_: {…}, revision_: 0, …}
[Infinity, Infinity, -Infinity, -Infinity]
undefined
矢量层也没有范围:
console.log(GpxVector.getSource().getExtent());
console.log(GpxVector.getExtent());
给出:
c {disposed_: false, pendingRemovals_: {…}, dispatching_: {…}, listeners_: {…}, revision_: 0, …}
[Infinity, Infinity, -Infinity, -Infinity]
undefined
有人能帮助我,告诉我如何访问GPX文件的范围或至少它的点,以便我自己计算它吗
任何帮助都将不胜感激 除非图层在地图上可见,否则不会加载源。如果设置任意洞口中心并在视图中进行缩放,则将加载源,然后可以调整:
// fit when the source loads
GpxVector.getSource().on('addfeature', function(){
map.getView().fit(GpxVector.getSource().getExtent());
});
// open the view to force a load
map.getView().setCenter([0, 0]);
map.getView().setZoom(0);
伟大的它工作得非常好,非常感谢,我被困在上面至少5个小时了!