带有mapview的Google地图和应用具有不同的当前位置

我有一个地图查看我想跟踪用户的当前位置。 GPS以及“使用无线networking”在我的手机设置中被激活。 尽pipe如此,由于我在室内,我没有得到一个GPS定位,因此该位置是通过networking确定的; 无线网点是可用的。

我运行的Google地图应用程序以及我的应用程序正在运行。

奇怪的是,目前的位置不同,谷歌地图和我的应用程序,谷歌地图是非常准确的,而在我的应用程序的位置不知何故closures了几百米。

在我的应用程序中,我基本上做了以下(现在的debugging目的):

1)最初在地图上放置一个标记:通过locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);获取的geopoint locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);

2)最初在地图上放置另一个标记:通过locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);获取的geopoint locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);

这将把两个提供者的最后已知位置放到地图上(最终从我的应用程序之外最后知道)。

3)然后定期更新(因为我在室内没有得到任何GPS定位),我这样做:

 locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, baseLocationListener); 

你可以看到在这两种情况下我通过0参数的频率和距离。

在应用程序清单中,授予以下权限:

 android.permission.ACCESS_COARSE_LOCATION android.permission.ACCESS_FINE_LOCATION android.permission.ACCESS_MOCK_LOCATION 

其实我的baseLocationListener确实被调用,我在日志中看到,但更新的位置与最后一个已知的当前位置(LocationManager.NETWORK_PROVIDER)相同,经纬度相同。

我想也许我忽视了一些东西或错过了一个参数或设置,或者我的代码有一个错误。 因此,我从Android市场安装了一些其他(总共3个)LBS应用程序,这些应用程序还显示当前用户的位置。 这些应用程序中显示的当前位置与我的应用程序中显示的位置相同,都是100米左右,但至less都是一样的。

看这里的截图: 截图http://img33.imageshack.us/img33/8679/mapproblem.png

http://img33.imageshack.us/img33/8679/mapproblem.png

现在我想知道:

1)据我所知,getLastKnowLocation是全系统,而不是应用程序范围内,为什么谷歌地图中的位置和所有其他应用程序之间存在差异?

2)Google地图是否不更新提供者的最后一个位置?

3)Google地图是否使用与SDK_PROVIDER或NETWORK_PROVIDER不同的自定义位置提供程序(即由于许可原因)?

4)如何使用NETWORK_PROVIDER像Google Maps一样达到同样的精确结果?

Solutions Collecting From Web of "带有mapview的Google地图和应用具有不同的当前位置"

我想我find了答案,虽然不是一个解决scheme。 看起来问题在于用于Google地图和SDK中的MapView的不同地图提供程序的数据质量。

地图贴砖的坐标似乎不是非常准确,就像在公共的谷歌地图web api /瓷砖。

看到这个截图的例子,我固定了相同的地理点。 截图http://img339.imageshack.us/img339/2793/gmaps2.png http://img.androidcookie.com/android//

使用公共地图api的地图离几百米远。 似乎我们只需要忍受它呢! 🙁

我知道你的post是一岁的,但是我想这个答案是:Google地图在中国的数据被抵消或者扭曲了。 我注意到你在华南。 中国政府出于安全原因要求。 这里是Google的search结果 。

转换algorithm是未知的。 也许你可以谷歌它,并祝你好运。

Google地图中的地图和卫星图片的偏移量为几米,但我认为这不应该太差。 这似乎是几百米。

取决于你如何获得你的位置将决定你得到什么位置。 据我所知,这是三个层面的收购。

  • 全球定位系统
  • networking
  • 无线上网

GPS和networking由三angular测量确定。 GPS是最准确的。 WIFI使用“whois”完成,地址被获取,然后进行地理编码,有时完全不准确。

有些手机说他们是GPS,但是他们很可能像iPhone 1那样是伪GPS。