Jor*_*nau 1 google-maps polygon shape ios swift
我正在使用 Google Maps SDK 在 swift 3.0 中开发一个应用程序。我不得不说这是我第一次使用这个 SDK,所以我需要一点帮助。我想我问你的事情对你来说很容易。我想要做的是当用户进入地图编辑模式(像这个页面http://www.birdtheme.org/useful/v3tool.html)。他可以做两件事:
首先,他可以在地图上绘制多边形(以标记农田的边界)。我希望用户按下地图上的一个点并生成一条线直到下一个点。这样,他就会生成线,直到多边形闭合。我绘制多边形的代码附在下面。但问题是它永远不会关闭多边形。但问题是我想要当线条的开头和结尾接触或线条交叉时,关闭多边形。我该怎么做?正如你在图片中看到的,我可以画无限条线。
let pathEditField = GMSMutablePath()
func mapView(_ mapView: GMSMapView, didTapAt coordinate: CLLocationCoordinate2D) {
if modeEditing {
pathEditField.add(coordinate)
let polyline = GMSPolyline(path: pathEditField)
polyline.map = mapView
}
}
Run Code Online (Sandbox Code Playgroud)其次,一旦绘制了多边形,顶点以某种方式突出显示,然后您可以移动该顶点以完成调整。
我给您留了一个屏幕截图,以便您了解用户可以在哪里创建多边形以及在哪里调整顶点。
问题是我不知道该怎么做,除了找不到它的文档。我的问题是,你知道有什么教程可以做类似的事情吗?或者你可以不写就开始代码吗?
用户可以通过创建多边形并随后对其进行调整来确定其地块的范围。
非常感谢。
使用此代码创建多边形GoogleMaps 文档
let camera = GMSCameraPosition.camera(withLatitude: 76.0,
longitude: 87.0,
zoom: 18)
let mapView = GMSMapView.map(withFrame: .zero, camera: camera)
let path = GMSMutablePath()
//Add vertex's to Path like as shown bellow
//get vertices from map
// https://developers.google.com/maps/documentation/ios-sdk/shapes
let path = GMSMutablePath()
path.add(CLLocationCoordinate2D(latitude: 37.36, longitude: -122.0))
path.add(CLLocationCoordinate2D(latitude: 37.45, longitude: -122.0))
path.add(CLLocationCoordinate2D(latitude: 37.45, longitude: -122.2))
path.add(CLLocationCoordinate2D(latitude: 37.36, longitude: -122.2))
path.add(CLLocationCoordinate2D(latitude: 37.36, longitude: -122.0))
let polyline = GMSPolyline(path: path)
polyline.strokeColor = .blue
polyline.strokeWidth = 5.0
polyline.map = mapView
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5146 次 |
| 最近记录: |