【问题标题】:Polygon geofencing with iOSiOS 的多边形地理围栏
【发布时间】:2014-07-10 11:00:47
【问题描述】:

我正在尝试找到一种使用 iOS 创建多个多边形地理围栏的方法。我需要在城市中绘制多个区域来表示区域、街道等。根据我目前所读到的内容,iOS 仅允许来自地理定位设备的圆形区域。

  1. iOS 是否可行?
  2. 是否有网络应用程序可以在地图上绘制多边形并在数组中生成坐标?

【问题讨论】:

    标签: ios google-maps geolocation geocoding


    【解决方案1】:

    1) iOS 确实只允许创建圆形地理围栏,但是通过一些额外的逻辑可以实现您想要实现的目标。 我已经开发了类似的功能,所以我建议您执行以下操作:

    • 创建一个嵌入多边形的圆形地理围栏
    • 当设备被通知为在圆形地理围栏内时, 启动 GPS
    • 每次获得位置更新时,检查其坐标是否 在多边形内
    • 一旦设备的位置在 多边形,除非在退出多边形时需要通知您 好
    • 当设备收到通知时关闭 GPS 圆形地理围栏

    由于您需要多边形地理围栏,我猜您希望获得良好的准确度,因此无论如何您都需要在地理围栏之上使用额外的 GPS 层,因为地理围栏根本不准确。

    2) 看看这些链接:

    【讨论】:

    • 感谢 Laurent,非常感谢,这是一个好方法。你有机会获得 Github 吗?
    • 不,我没有。如果您满意,请接受我的回答。
    • 如果一个多边形嵌入到另一个多边形中,这种方法仍然有效吗?因为创建圆形地理围栏会溢出到其中的下一个多边形,不是吗?
    • 这种方法仍然有效。但请注意,您一次可以监控的地理围栏数量有限(大约 10 个),因此您需要优化它们。例如,您只能为多个嵌入的多边形创建一个地理围栏。
    • 感谢 Laurent,我非常欣赏这种方法。当应用程序处于前台/后台时,我使用了这种方法并达到了我的要求,但在应用程序被终止/终止状态时却没有。我认为这是由于默认的 10 秒时间,iOS 唤醒系统并再次使其进入睡眠/杀死它。 beginBackgroundTask(expirationHandler:) 如果没记错的话,也会将时间延长到 3 分钟。我需要延长时间,直到用户进入多边形并离开。对此的任何帮助都是可观的。谢谢!
    猜你喜欢
    • 2013-08-31
    • 2015-10-29
    • 1970-01-01
    • 1970-01-01
    • 2019-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-23
    相关资源
    最近更新 更多