【发布时间】:2018-05-21 12:59:28
【问题描述】:
我的应用程序中集成了一个 Google Maps API,并且我在地图中绘制了一些自定义形状,我想在用户输入这些形状之一时触发一个事件。我发现有一种方法可以监控用户是否使用 CLCircularRegion 进入圆形区域,但看不到任何自定义形状。就我而言,形状基本上是 CLLocationCoordinate2D 的数组。
【问题讨论】:
标签: swift location maps geofencing
我的应用程序中集成了一个 Google Maps API,并且我在地图中绘制了一些自定义形状,我想在用户输入这些形状之一时触发一个事件。我发现有一种方法可以监控用户是否使用 CLCircularRegion 进入圆形区域,但看不到任何自定义形状。就我而言,形状基本上是 CLLocationCoordinate2D 的数组。
【问题讨论】:
标签: swift location maps geofencing
也许你的意思是绘制折线
我有一个可能与您想要的结果相匹配的示例代码
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))
}
}
希望对您有所帮助。 :)
【讨论】: