【发布时间】:2014-03-31 21:21:52
【问题描述】:
我想获取当前位置(纬度和经度),当 WiFi 和 Gps 关闭时。可以从移动 sim 网络获取纬度和经度。我在谷歌上搜索了更多,但我没有得到满意的答案。
【问题讨论】:
我想获取当前位置(纬度和经度),当 WiFi 和 Gps 关闭时。可以从移动 sim 网络获取纬度和经度。我在谷歌上搜索了更多,但我没有得到满意的答案。
【问题讨论】:
试试这个
LocationManager lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
Location location = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);
if(location==null){
location = lm.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
}
【讨论】:
根据我昨天在question 上的经验,我终于发现如果没有设备中的 Internet 连接,就无法获取纬度经度的值。 (天哪,我花了 3 个小时才找到为什么我的运行代码正常工作。)即使要从 getLastKnowLocation() 获取值,您也必须需要 Internet 连接。
【讨论】:
很确定这是不可能的。虽然您可以存储手机信号塔 ID 以了解您何时靠近以前去过的区域,但您实际上不能使用这些值来获取纬度和经度数字(好吧,除非您存储了一些纬度和经度值和将它们与那个手机信号塔配对)。但是,您可以致电 getLastKnownLocation() 以...从 GPS 或 Wifi 获取最后一个已知位置。
编辑
显然,谷歌已经用 cellID 建立了一个纬度/经度数据库。它不是标准 Android API 的一部分,需要网络连接才能命中。不过很酷。 You can find more at this (really slow) website
【讨论】: