根据移动车辆的方向,使用ios中的帮助CLLocationManager检测绘制的CLRegions

时间:2014-07-02 05:05:12

标签: ios objective-c gps cllocationmanager geofencing

在我的IOS应用程序中,我研究了检测区域的功能,并且只要用户进入这些区域就可以正常工作,这意味着会调用didEnterAReion,didExitRegion方法。现在,我在使用另一个功能增强此功能时遇到了问题。假设有两条道路,即A路和B路,其车道方向彼此相反。当我在道路上的不同位置绘制两条道路的区域时,当在A路上行驶的车辆可以检测到道路B上的绘制区域时,可能会出现这种情况,反之亦然。但我想阻止对区域的检测。在A路上经B路移动车辆,反之亦然。

如果我的应用程序将根据车辆或设备的移动方向检测区域(app知道与哪个方向相关的区域),它将正常工作。我尝试了很多解决方案。但仍然无法找到移动车辆的角度方向。请提供一些解决方案或算法来解决此问题。感谢。

2 个答案:

答案 0 :(得分:0)

没有简单的解决方案。该解决方案需要服务器端和前端之间的协作(应用程序)

简单算法: -

  1. 当用户启动应用时,应用会将设备当前位置发送到服务器。
  2. 根据位置,服务器将选择一个区域列表(例如:半径20公里范围内)并发送给应用程序。
  3. 如果发送区域列表超过20,则服务器必须减小半径,直到最多只有20个区域。
  4. 当应用收到区域时,它将开始监控该区域。
  5. 通过上述算法,道路A和道路B将具有不同的监控区域。 iOS有限制同时监控最多20个区域。因此,在开始监视从服务器返回的新区域之前,您需要删除旧区域。

    您可能想要查看的其他区域监控主题: -

答案 1 :(得分:0)

区域监控无法帮助您确定。

如果您有道路的地理位置,那么您可以检测到您的汽车当前在哪条道路上移动。然而,道路相距1米远。

如果你可以在每条道路上拥有两个地理位置,那么可以确定