AndroidでのGeoPointの作成
-
25-10-2019 - |
質問
GeoPoint point = new GeoPoint(
(int) (userlocation.getLatitude() * 1E6),
(int) (userlocation.getLongitude() * 1E6));
私は上記のようにジオポイントを作成していますが、それはユーザーの正確な場所にありません、それは500〜600メートル近く離れています
ここでユーザーロケーションは私がロケーションリスナーから得ている場所です
ユーザーの場所では、18.453225455645&78.15444456546のような値を取得しますが、プロット中は18.453225&78.154464のみを使用できます。つまり、小数はわずか6桁です。余分な値を使用しようとすると、マーカーは間違った場所を示しています。(それはgeopointニーズの値がintの値によるものです)
マップ上で正確な場所をプロットするにはどうすればよいですか?
編集: - 誰もこれについて解決策があるとは思わない。いくつかのアプリをチェックして、Googleマップがそれをどのように得るかわからないよりも精度のあるMyTaxiと呼ばれる1つのアプリを見つけました。現在、私は緯度と経度を丸めています。
ありがとうございました
解決
a。 6桁後に最後の数桁を削除するだけで、小数点以降に5桁が約1mの精度が得られると、500〜600 mのエラーが500〜600 mのエラーが得られません。
b。 GPSまたは他のロケーションプロバイダーを使用していますか?正確な場所が必要な場合は、GPSのみをロケーションプロバイダーとして使用します。 GPSは正しく動作するために視線が必要になる必要がありますが、キャッチがあります。
所属していません StackOverflow