OpenLayers v6.3.1两个位置之间的距离 在他们的屏幕上有一个名为getDistance的函数,当我将此函数与两个点/位置一起使用时,它会显示一个通知,表示函数无法识别。

OpenLayers v6.3.1两个位置之间的距离 在他们的屏幕上有一个名为getDistance的函数,当我将此函数与两个点/位置一起使用时,它会显示一个通知,表示函数无法识别。,openlayers,distance,Openlayers,Distance,你知道如何在OpenLayers 6.1.3中涵盖这一点吗?我可以通过其他两个函数找到距离: 1. 2. 首先创建两个位置: var location_1 = ol.proj.fromLonLat([loc1.long, loc1.lat]); var location_2 = ol.proj.fromLonLat([loc2.long, lat2.lat]); 其次,在这两点之间创建一条线: var line = new ol.geom.LineString([location_1 ,

你知道如何在OpenLayers 6.1.3中涵盖这一点吗?我可以通过其他两个函数找到距离: 1. 2.

首先创建两个位置:

var location_1 = ol.proj.fromLonLat([loc1.long, loc1.lat]);
var location_2 = ol.proj.fromLonLat([loc2.long, lat2.lat]);
其次,在这两点之间创建一条线:

 var line = new ol.geom.LineString([location_1 , location_2]);
然后将线路长度转换为公里:

 var distance = Math.round(line.getLength()  / 1000 * 100) / 1000;

距离给出两个位置之间的实际距离,单位为km。

如果坐标为LonLat,最简单的方法是

var distance = ol.sphere.getDistance([loc1.long, loc1.lat], [loc2.long, lat2.lat]) / 1000;

你是如何使用它的?你使用的是什么坐标系?你能发布你的代码吗?line.getLength没有给出真实的距离,它给出的是以投影单位表示的距离,只有在赤道上才是真实的-在纬度60度时,它给出的距离是真实距离的两倍。对于实际情况,需要使用示例中使用的ol/sphere.getLength