【问题标题】:how to determine current location from GPS in iphone如何从 iPhone 中的 GPS 确定当前位置
【发布时间】:2011-06-05 17:46:17
【问题描述】:

我需要在下一个应用中实现定位功能。我有几个关于开发的问题。 1)我找到了教程并实现了定位的东西..但是可以用iphone模拟器模拟我的代码还是有必要为此目的使用设备。在谷歌搜索时,我在某个论坛上读到 4.2 SIM 支持 GPS 应用程序模拟,尽管它每次都会提供 Apple 总部的位置,但在我的情况下,CLLocationManager 的 didFailWithError 代表被调用。任何帮助!

2) 确定位置、经纬度后,如何从中确定准确的地区名称等信息?

提前感谢您宝贵的时间和反馈。

【问题讨论】:

  • 这在模拟器中有效,但位置始终是苹果总部。
  • @Time Machine 实际上 CLLocationManager 将返回您在模拟器中的当前位置,或者它可以从您的 IP 地址或 wifi 网络中找出的任何位置。总是返回 Cupertino 的是 MapKit。

标签: iphone cocoa-touch xcode ios-simulator positioning


【解决方案1】:

CLLocationManager 实际上会返回模拟器正在使用的网络的位置。是 MapKit 会认为当前位置在苹果总部的库比蒂诺。您从通话中获得两个不同的位置通常会导致混淆。

您可以使用 MKReverseGeocoder 获取有关给定纬度和经度的信息。它会尝试给你一个完整的地址,但你可以使用你想要的任何部分(只是国家,或城市和州/省,等等)。

【讨论】:

  • 好的,谢谢大家.. 但我想我还不清楚.. 看我不想使用 MAP 工具包,因为我希望在后台确定用户的位置.. 在使用 MKReverseGeocoder 时据我从文档和谷歌中了解到,您必须在 UI 上使用 MAP 套件。如果我是,我可能错了,请纠正我。
  • 难道没有其他方法可以从我们在 CLLocation 对象中得到的纬度、经度获取当前位置信息
  • 我确信网络上还有其他可用的反向地理编码器,我见过它们。您需要查看许可和 API 可用性。然而,iOS 框架没有其他方法。
  • @Veeru 如果您使用 MKReverseGeooder,您绝对需要显示 Google 地图,不是出于技术原因,而是出于法律许可的原因。苹果文档中的第三段,在我的回答中链接,非常清楚。不遵守 MapKit 许可限制是让您的应用被拒绝的一种简单方法,如此处和网络周围的许多帖子所示。
  • @Veeru 完全相同的许可适用于您链接到的 Google 服务:请参阅该页面上方的“使用限制”。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-30
相关资源
最近更新 更多