【问题标题】:How to get latitude and longitude android in offline mode如何在离线模式下获取经纬度android
【发布时间】:2017-05-29 05:10:54
【问题描述】:

我很感兴趣,我可以在离线模式下获取 gps 坐标(没有互联网连接)。可能吗?怎么办?

提前致谢

【问题讨论】:

  • gps 不依赖于互联网。您可以使用 gps、MobileNetwork 获得 lat long。
  • 如果您使用的是 google play 服务,请使用 GoogleApiClient 回调并获取当前位置,而与互联网无关,但在地图上绘制该位置需要互联网。

标签: android google-maps gps locationmanager


【解决方案1】:
LocationManager lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE); 
Location location = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);
if(location==null){
    location = lm.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
}

这会从网络提供商那里得到更长的时间。

首先它会尝试从 GPS 获取位置。如果 gps 关闭,它将返回为 null。这就是我设置 if(location==null) 条件的原因。

【讨论】:

  • 您好,谢谢您的回答先生,如果它对对象的工作总是移动先生?,它需要谷歌地图api吗?
  • 如果你想在谷歌地图上移动你的光标而不是谷歌地图 API,但如果你想要简单的坐标而不需要 API。是的,坐标会随着您的移动而改变,但这可能需要一些时间,因为这将由您的网络运营商提供。
  • 此代码已损坏。如果没有位置,getLastKnownLocation 将返回 null - 如果没有其他应用程序正在使用该提供程序。这意味着它将在大多数情况下返回 null。如果您确实需要位置,请使用 requestLocationUpdates 或 requestSingleUpdate。 getLastKnownLocation 几乎不应该被使用(唯一可以使用的是优化,即使那样你也必须假设它通常会失败)。
  • 许多应用程序离线工作(没有互联网)并且不使用移动 GPS 从位置/地址显示经纬度信息。我不知道他们是如何工作的?任何建议将不胜感激。非常感谢。
猜你喜欢
  • 2014-03-31
  • 2013-07-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-02
  • 2012-06-30
相关资源
最近更新 更多