我想先说我在中国,谷歌定位服务有时会出现问题。
我正在使用LocationClient
获取用户的当前位置。
protected void onCreate(Bundle savedInstanceState) {
...
mLocationClient = new LocationClient(this, this, this);
...
}
非常简单。然后在我的onConnected
回调中,我得到了位置。
public void onConnected(Bundle connectionHint) {
Location location = mLocationClient.getLastLocation();
...
}
我返回的位置始终相同,但距离我的实际位置约 500m。GPS 已启用,但指示正在使用的图标没有出现。我也在使用 WiFi 并且有 3G。
当我打开实际的 Google 地图应用程序时,我的位置非常准确(与我在自己的应用程序中获得的位置不同)。我还看到指示正在使用 GPS 的图标。
问题
- 为了获得更准确的位置,Google 地图应用程序有何不同之处?我该如何做?
- 如果我返回的错误位置始终相同,那是什么意思?不用多想,国外的地图数据公司有坐标,有一定的偏差,需要用特定的算法来修正,这是中国的事实;谷歌地图应用程序是这样做的吗?
谢谢!