是否创建自定义形状多边形作为地理围栏区域?

问题描述

当前我们有一个坐标数组,这些坐标将勾勒出矩形形状。

  var coordinatesArray: [CLLocationCoordinate2D] = []

    override init() {
        super.init()

 //top left
        coordinatesArray.append(CLLocationCoordinate2D(latitude: 32.7915055,longitude: -96.8028408))
        //top right
        coordinatesArray.append(CLLocationCoordinate2D(latitude: 32.7919914,longitude: -96.8022031))
        //bottom left
        coordinatesArray.append(CLLocationCoordinate2D(latitude:  32.7910108,longitude: -96.8025008))
        //bottom right
        coordinatesArray.append(CLLocationCoordinate2D(latitude: 32.7915926,longitude: -96.8016962))

}

截至目前,它要求监视一个圆形区域:

let geoFenceRegion:CLCircularRegion = CLCircularRegion(center: CLLocationCoordinate2DMake(32.7915926,-96.8016962),radius: 100,identifier: "Dallas")

我们想要的是适合坐标形状的地理围栏。几年前,我看到这篇文章指出您无法创建自定义区域:

custom shape region

这是否有可能创建自定义形状区域?

解决方法

不,据我所知,地理围栏始终是圆形的。您可以组合多个较小的圆形区域来创建更接近所需形状的形状(尽管位置区域的总数有相当小的限制(如果有内存,则总数为20)

,

您可以使用第三方 API(如 TomTom 的 API)来实现。您可以创建圆圈、螺旋线、走廊,将它们存储在云中,甚至在跟踪对象进入、退出或停留时触发事件。

https://developer.tomtom.com/geofencing-api/geofencing-api-documentation

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...