【发布时间】:2018-05-07 13:21:44
【问题描述】:
我正在使用 Google 地图制作地理围栏。我的问题是关于 CLCircularRegion 的最小半径。因为我想与该区域工作 30 米。但该功能适用于 100 米。我查了很多,发现Apple需要最小半径100来创建一个区域,不管我设置的是30米还是50米。
这是链接 - Geofencing iOS 6
此外,didEnterRegion 在 100 米处调用,didExitRegion 的工作方式非常奇怪,需要花费很多时间。 我也读过,根据这些方法调用,它取决于塔单元等。
这是链接 - What is the maximum and minimum radius that can be set for regions in iOS geofencing.
我想知道我是否将区域设置为 50 米。为什么它不能按照所需的区域半径工作。事实上,我观察到它在半径 100 米范围内工作。
代码如下:
func createRegion(lat : CLLocationDegrees,lng : CLLocationDegrees) -> CLCircularRegion?
{
let latitude = lat
let longitude = lng
var radius = CLLocationDistance(50)
if radius > locationManager.maximumRegionMonitoringDistance
{
radius = locationManager.maximumRegionMonitoringDistance
}
let region = CLCircularRegion(center: CLLocationCoordinate2DMake(latitude, longitude), radius: radius, identifier: "TEST")
region.notifyOnEntry = true
region.notifyOnExit = true
return region
}
或者任何人都可以推荐一个具有地理围栏功能的好应用程序。这样我就可以将我的应用程序的准确性与它进行比较。
问题:我选择了 50 米半径,应该会出现“退出时”通知。但我在 250 米附近/附近收到通知,而且还不止于此。请帮帮我
谢谢!
【问题讨论】:
-
您的问题是什么?仅仅要求更多信息不是我们可以帮助您的问题。您有特定的编程问题吗?
-
@kevin - 是的,我在第一行提到过,我想知道 CLCircular 区域的最小半径。
-
你想知道什么?没有“最小半径”,但该设备确实添加了一些关于何时通知用户的限制,因此如果您遇到问题,您应该分享相关代码并提出问题,或者read through the guidelines 并指出您不知道的事情不明白。仅仅请求有关某个主题的信息不适合 SO,因为很难回答这些类型的问题。
-
@kevin,同意我读过苹果公司说没有最小半径。但是我设置了半径 50 并且当我距离该位置 100 米时调用了 didEnterInRegion。我不明白为什么?如果没有最小半径,那么问题是什么,为什么它不适用于半径 50 米。请让我知道您在编码中还需要什么来理解我的问题。
标签: swift google-maps ios11 geofencing