如何检查我当前位置是否在我之前绘制的路线上,如果没有,则重绘路线

时间:2013-09-24 11:24:03

标签: android google-maps geopositioning

如何检查我当前位置是否在我之前绘制的路线上,如果没有,则重绘路线。

所以我的想法是:我们有类似的东西:

ArrayList<LatLng> listGeopoints = new ArrayList<LatLng>()

(来自

String url = "http://maps.googleapis.com/maps/api/directions/xml?" 
            + "origin=" + start.latitude + "," + start.longitude  
            + "&destination=" + end.latitude + "," + end.longitude 
            + "&sensor=false&units=metric&mode=driving";

我必须使这样的功能

for(LatLng point : listGeopoint){
    if (checkIfPointNearly(currentPoint, point)) return true;
     else return false
}

1 个答案:

答案 0 :(得分:0)

基本方法是 - 您必须检查当前位置是否接近某些先前注册的点位置类有一种方法来测量到其他位置的距离。

为了表现 - 您可以采用Pitagoras公式 - 只记住纬度是(非常)恒定的,经度取决于当前纬度length_of_longitude_degree = cos(纬度)。 位置距离(这个方法没有确定的名称)是基于一些复杂的几何形状,“真实的”地球形状等等所以对数千个地理点使用它是不明智的。