2013-09-24 48 views
0

如何檢查我的當前位置是否在我之前繪製的路線上,如果不是,則重繪路線。如何檢查我的當前位置是否在我繪製的路線上,如果不是,則重繪路線

那麼如何,我認爲:我們有這樣的事情:

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 
} 

回答

0

該bas ic方式是 - 你必須檢查你的當前位置是否接近一些先前註冊的點位置類別有一種方法來測量到其他位置的距離。

對於性能 - 您可以採用Pitagoras公式 - 只要記住緯度(相當)恆定,經度的大小取決於當前緯度的長度,即length_of_longitude_degree = cos(緯度)。 位置距離(這種方法沒有確定的名稱)是基於一些複雜的幾何形狀,地球的「真實」形狀等,因此在幾千個地理點上使用它並不明智。

+0

以前的註冊點是什麼意思?我以前的位置? –

+0

不是 - 您註冊的曲目的分數。 – piotrpo

+0

謝謝,我會嘗試) –

相關問題