2

私は中国にいるので、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を使用しています。

実際の G​​oogle マップ アプリを開くと、自分の位置は完全に正確です (自分のアプリで取得した位置とは異なります)。GPS が使用されていることを示すアイコンも表示されます。

質問

  1. より正確な位置情報を取得するために Google マップ アプリが行っていることと、Google マップ アプリはどのように行うのですか?
  2. 私が戻ってくる間違った場所が常に同じである場合、それはどういう意味ですか? あまり考えすぎなくても、外国の地図データ会社が座標を持っていることは中国の真実であり、要因によって歪められており、その違いを修正するために特定のアルゴリズムを使用する必要があります。Googleマップアプリはそれをやっていますか?

ありがとう!

4

5 に答える 5

3

メソッド「getLastLocation()」を使用すると、Location によって格納された最新の既知の場所が提供されます。また、マニフェスト ファイルでアプリに与えた権限のレベルにも関係します。

両方を使用してみてください:

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

をマニフェスト ファイルに追加して、精度が向上するかどうかを確認します。

于 2013-07-07T11:54:59.857 に答える
1
  1. 航空写真をオンにします。通常の「ベクトル」ビューは、中国では難読化されています。何らかの理由で、Google マップ アプリにはこの問題はありません。
  2. GPS によって返された位置は、中国でも正確です (WGS84 投影を考慮)。地図だけではありません。

Baiduなどの他のマップ プロバイダーでは、LocationClient の独自のカスタム実装を使用する必要があります。このようにして、マップ タイルで使用する準備が整った場所を取得します。

于 2013-08-02T08:00:10.927 に答える
1

中国では、政府が関連する地図作成会社にバイアスを加えるよう強制しているため、GPS データを特別に扱っています。私はしばらくそれで立ち往生しています。

于 2013-09-14T12:34:16.053 に答える
0

遅い答えですが、これは言われていません:

locationRequest を使用して、locationClient の精度を設定できます。例えば

      mLocationRequest = LocationRequest.create();
      mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
      mLocationClient.requestLocationUpdates(mLocationRequest, (LocationListener) this);

更新頻度も設定できます。非常に正確なものが必要な場合は、数秒間にわたって一連の読み取りを行います。次に、各読み取り値の「精度」の数字を見てください。精度が他の読み取り値よりも大幅に低い読み取り値は破棄します。次に、残りを平均します...

これは非常に基本的なアルゴリズムであり、米国の Galaxy S5 で 1 ~ 2 フィート以内の精度を得ています。

低い精度を使用すると、Wi-Fi とセルラーの結果で GPS データが平均化されます。GPS はより多くのバッテリーを消費するため、この設定では使用頻度が低くなります。Wifi は物理的なアドレス検索を使用します。これは、家の近くの公道にいる場合でも、常に私を家の近くの公道に移動させるためです。

于 2014-06-27T22:18:39.010 に答える