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
}
4

1 に答える 1

0

基本的な方法は、現在の位置が以前に登録されたポイントの近くにあるかどうかを確認する必要がある Location クラスには、他の場所までの距離を測定するメソッドがあります。

パフォーマンスのために-ピタゴラスの式を採用できます-緯度の程度は(かなり)一定であり、経度の程度は現在の緯度に応じて異なることを覚えておいてください length_of_longitude_degree = cos(latitude)。位置距離 (このメソッドの名前は不明) は、洗練されたジオメトリ、地球の「実際の」形状などに基づいているため、数千のジオ ポイントに対して使用するのは賢明ではありません。

于 2013-09-24T11:38:54.257 に答える