Swift区域监控 - 自定义形状

时间:2018-05-21 12:59:28

标签: swift location maps geofencing

我的应用中集成了Google Maps API,我在地图中绘制了一些自定义形状,并且当用户输入其中一种形状时,我想触发一个事件。我发现有一种方法可以监控用户是否使用CLCircularRegion输入了一个圆形区域,但是没有看到任何自定义形状。在我的情况下,形状基本上是CLLocationCoordinate2D的数组。

1 个答案:

答案 0 :(得分:0)

也许你的意思是绘制折线

我有一个可能与您想要的结果匹配的示例代码

func addCustomShapeInMap( drawableLoc:[CLLocationCoordinate2D]) {

        isDrawingModeEnabled = true
        let path = GMSMutablePath()
        for loc in drawableLoc{
            path.add(loc)

        }
        let newpolygon = GMSPolygon(path: path)
        newpolygon.strokeWidth = 3
        newpolygon.strokeColor = UIColor(red: 20.0/255.0, green: 119.0/255.0, blue: 234.0/255.0, alpha: 0.75)
        newpolygon.fillColor = UIColor(red: 156.0/255.0, green: 202.0/255.0, blue: 254.0/255.0, alpha: 0.4)
        newpolygon.map = mapView
        userDrawablePolygons.append(newpolygon)

        if drawableLoc.count > 2 {
            let coordinateBounds = GMSCoordinateBounds(path: newpolygon.path!)
            mapView.animate(with: .fit(coordinateBounds))
        }
    }
希望这有帮助。 :)