从数组中的点计算距离

时间:2018-04-06 12:54:49

标签: android api google-maps

我正在开发一款跟踪用户位置的Android应用。我让它在本地运行,所以我的LatLng存储在一个数组中:

ArrayList<LatLng> points = new ArrayList<>();

然后在onLocationChanged中使用它绘制多边形线,这对我来说非常合适。我想计算整个旅程的距离。有没有办法用我的阵列做到这一点?

3 个答案:

答案 0 :(得分:0)

你可以创建一个遍历数组的循环并计算两个连续点之间的距离。然后添加计算的每个距离以获得整个行程距离。这应该是这样的(伪代码):

totalDistance;
for(points in listOfPoints){
    nextPoint = listOfPoints.indexof(point + 1);
    distance = computeDistance(point, nextPoint);
    totalDistance.add(distance);
}

答案 1 :(得分:0)

对于位置点之间的计算距离,您至少需要两个点。

计算可以在这里找到: https://stackoverflow.com/a/365853/1537916

答案 2 :(得分:0)

尝试使用SphericalUtil

中的Google Maps utility library
<div class="box">
  <div class="row">
    <button class="btn func reset">C</button>
    <div class="display">1234124</div>
   </div>
</div>

.box {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;  
  width: 250px;
  padding: 15px 15px;
  border-radius: 10px;
  background-color: #f55d2e;
  margin: 0 auto;
}

 .box div{
   display: flex;
   width: 250px;
   height: auto;  
}

.display {
  width: 100%;
  height: 100px;
  background-color: white;
  box-shadow: 0 6px #efa424;
  text-shadow: 1px 2px 1px #3E2723;
  border-radius: 7px;
  padding: 2px 2px;
  text-align: right;
}