私は中国にいるので、Google の位置情報サービスに問題が発生することがあります。
を使用してLocationClient
、ユーザーの現在の場所を取得しています。
protected void onCreate(Bundle savedInstanceState) {
...
mLocationClient = new LocationClient(this, this, this);
...
}
非常に簡単です。次に、onConnected
コールバックで場所を取得します。
public void onConnected(Bundle connectionHint) {
Location location = mLocationClient.getLastLocation();
...
}
戻ってくる場所は常に同じですが、実際の場所から約 500 m 離れています。GPS は有効になっていますが、使用中であることを示すアイコンは点灯しません。私もWiFiに接続しており、3Gを使用しています。
実際の Google マップ アプリを開くと、自分の位置は完全に正確です (自分のアプリで取得した位置とは異なります)。GPS が使用されていることを示すアイコンも表示されます。
質問
- より正確な位置情報を取得するために Google マップ アプリが行っていることと、Google マップ アプリはどのように行うのですか?
- 私が戻ってくる間違った場所が常に同じである場合、それはどういう意味ですか? あまり考えすぎなくても、外国の地図データ会社が座標を持っていることは中国の真実であり、要因によって歪められており、その違いを修正するために特定のアルゴリズムを使用する必要があります。Googleマップアプリはそれをやっていますか?
ありがとう!