Android:仅使用GPS的MyLocationOverlay

时间:2011-12-06 14:45:26

标签: android gps

是否有可能告诉MyLocationOverlay它应该只将GPS视为LocationProvider

参考文献说:enableMyLocation() =>尝试启用MyLocation,注册来自LocationManager.GPS_PROVIDERLocationManager.NETWORK_PROVIDER的更新。

但我只需要GPS_PROVIDER。 任何提示?

1 个答案:

答案 0 :(得分:1)

据我所知,没有办法解决这个问题。但是你可以:

  1. 覆盖onLocationChanged并查看location.getProvider(),忽略不是来自GPS的更新 - 尽管我猜这仍然会从网络提供商处获取您的位置(如果需要)。
  2. MyLocationOverlay实现了LocationListener,这意味着enableLocation可能会使用自己的位置管理器请求更新 - 您可以使用自己的Criteria调用requestLocationUpdates。但是,谷歌地图不是开源的,所以可能会有一些标志或者这样的地方也会更新。如果你知道它做了什么,你可以用反射复制它..
  3. 使用TestProviderEnabled()'关闭'网络提供商,这需要在设备上启用模拟位置权限+该选项。