问题标签 [clregion]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
260 浏览

ios - startMonitoringForRegion 在前台工作但不在后台工作

我对目标 C 和区域监控非常陌生,我正在开发应用程序,当您进入特定位置时会提醒您。我从 JSON 获取数据。

如果应用程序在前台运行(即可见),则受监控区域的 startMonitoringForRegion 和 NSLog 工作正常。但是当我切换到后台模式并尝试 NSLog 监控区域时,我得到: LOCATIONMANAGER 监控区域 1 有 5 个结果(应该如此), LOCATIONMANAGER 监控区域 2 有 4 个结果, LOCATIONMANAGER 监控区域 3 有 3 个结果

有人可以解释一下,我在这里缺少什么...

0 投票
2 回答
401 浏览

ios - iOS - 设备/用户进入新城市时的区域监控?

根据 iOS CLLocationManager APIstartmonitoringsignificantlocationchanges将在发生重大变化时通知我的应用程序,例如 500 mtrs 或更多。

但我希望在我的应用程序中,我的应用程序只有在用户/设备进入新城市时才会收到通知。如果处于关闭状态,应用程序应自动打开。

注意:它不是地图/导航应用程序,所以我不想让我的应用程序继续监控用户的位置数据并最终耗尽设备的电池。

请提出一些解决方案。

0 投票
1 回答
139 浏览

ios - 地理和信标监控区域加起来是否符合 iOS 的 20 个区域限制?

我在 iOS 文档中读到我们可以监控 20 个区域。这是否意味着:-两者的总和限制为 20 或-我可以拥有 20 个地理区域和 20 个信标区域?

0 投票
1 回答
459 浏览

ios - UILocalNotification 和区域监控

我正在将通知服务滚动到需要地理围栏通知的现有应用程序中。CLRegion 看起来像你应该如何做到这一点,苹果的方式。但是,它们将您限制为可以由单个应用程序监控的 20 个区域。肯定需要提供 20 多个通知区域。一方面,我可以自己监控位置并在他们进入该区域时发出通知。显然,应用程序需要打开才能发生这种情况。当应用程序在后台时,我可以使用 CLLocationManager 吗?是否有解决方法可以监控超过 20 个区域?对此的任何建议将不胜感激。

0 投票
1 回答
4349 浏览

ios - iOS地理围栏,监控开始时在区域内如何处理?

我一直无法弄清楚如何处理电话在startMonitoringForRegion被呼叫时已经在一个区域内的情况?其他问题建议在 thisrequestStateForRegion内部调用didStartMonitoringForRegion然后调用方法didDetermineState: forRegion:。所以代码看起来像这样:

现在很明显,geofenceRegion 方法是我自己的,它工作正常,并且对象包含诸如 lat long 和 radius 之类的东西,而且一切正常,所以这不是这里的问题。

无论如何,上述代码的问题在于,如果用户在将区域添加到他们的设备时已经在该区域内(即 didEnterRegion 完成),则它确实有效。然而问题是,didDetermineState: forRegion:每次根据苹果文档跨越边界区域之一时,也会调用该方法:

只要有区域的边界转换,位置管理器就会调用此方法。除了调用 locationManager:didEnterRegion: 和 locationManager:didExitRegion: 方法之外,它还调用此方法。位置管理器还调用此方法以响应对其 requestStateForRegion: 方法的调用,该方法异步运行。

现在正因为如此,每次输入一个区域时,didEnterRegion都会自动调用它,但随后会再次调用它,因为didDetermineState: forRegion:根据苹果文档也会自动调用它,这会导致didEnterRegion再次调用,所以当我只希望它是时,该区域被输入两次输入一次。我怎样才能避免这种情况?

谢谢你的帮助。

解决方案

解决方案真的很简单,我只是以错误的方式去做。我不得不选择使用这两种方法didEnterRegion:didExitRegion或者使用didDetermineState: forRegion并创建我自己的方法来进入和退出该区域,两者都不应该使用

所以我选择只使用该didDetermineState: forRegion方法,我的代码现在看起来像这样:

请注意,如果该区域不在内部,则使用此方法将调用退出区域,如果像我一样,您只想在输入发生后退出,您将需要某种方法来检查该区域是否已被输入(我自己使用核心数据,因为我已经使用它来存储区域的其他方面)。

0 投票
2 回答
82 浏览

ios - iOS 8.2 MonitoringForRegion 委托方法运行良好,现在没有被调用

从昨天开始,我在使用 CLLocationManager 监控区域时遇到了问题

PS:我的项目运行良好我每天都在测试它,但是今天这个委托方法在进入一个区域后 1 分钟被调用

现在它不再被调用我只用 CLLocationManager 制作了另一个项目来测试委托方法,同样的事情正在发生。

你能告诉我这到底是什么吗?

[更新]

在 iPhone 重启后发现了这个关于 iOS 区域监控的有用链接

0 投票
1 回答
1734 浏览

ios - 使用 startMonitoringVisits 监控区域

类参考并没有解释何时使用它或它到底在做什么。我需要监视一个区域退出,不是 100% 可靠的事实startMonitoringForRegion:是一个问题。

可以startMonitoringVisits在这里帮助我吗?如果没有 - 关于如何解决这个问题的任何其他想法?(如显着距离和监控区域?)

谢谢

0 投票
3 回答
3689 浏览

ios - iOS 区域监控不起作用

几个月来我一直在做一些 iOS 开发,最近我正在开发一个公交车应用程序。我目前正在模仿公交车的运动并在公交车站上设置多个注释。出于测试目的,我只设置了一个公共汽车站,并试图监控公共汽车何时进入该区域并退出。

奇怪的是,我的didStartMonitoringForRegion方法被完美地调用了,但didEnterRegionnordidExitRegion方法都没有被调用。每次我运行程序时,公共汽车都会在没有提示我的情况下通过车站。

有人可以向我解释为什么会发生这种情况以及如何解决它吗?

0 投票
2 回答
1488 浏览

ios - 不调用位置管理器 didEnterRegion 和 didExitRegion 方法

几个月来我一直在做一些 iOS 开发,最近我正在开发一个公交车应用程序。

我目前正在模仿公交车的运动并在公交车站上设置多个注释。出于测试目的,我只设置了一个公共汽车站,并试图监控公共汽车何时进入该区域并退出。

奇怪的是,我的didStartMonitoringForRegion方法被完美地调用了,但didEnterRegionnordidExitRegion方法都没有被调用。除此之外,不会调用任何错误。每次我运行程序时,公共汽车都会在没有提示我的情况下通过车站。

有人可以向我解释为什么会发生这种情况以及如何解决它吗?

0 投票
1 回答
550 浏览

swift - LocationManager didEnterRegion 没有被调用(再次)

我正在尝试注册区域以在用户输入时得到通知。这是我使用的代码:

注册似乎很顺利,因为调用了 didStartMonitoringForRegion 并且它正确打印了受监控的Regions。然而,没有调用 didEnterRegion,也没有调用 didDetermineState,甚至没有调用 monitoringDidFailForRegion。

可能是什么业务?