OpenLayers v6.3.1 两个地点之间的距离。

问题描述 投票:0回答:1
  • 关于他们 API 有一个叫做getDistance()的函数,当我用这个函数来处理两个pointlocations的时候,它显示一个通知,说函数未被识别。

请问如何在OpenLayers 6.1.3中解决这个问题?

openlayers distance
1个回答
1
投票

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

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

0
投票

好吧,我是可以用另外两个函数来找距离的。1. LineString()2. getLength()

首先创建两个位置。

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;

这就是 距离 给出两个地点之间的实际距离,单位为公里。

© www.soinside.com 2019 - 2024. All rights reserved.