ios - 在 SDK 谷歌地图中快速绘制多边形/形状

标签 ios swift google-maps polygon shapes

我正在使用 Google Maps SDK 在 swift 3.0 中开发应用程序。我不得不说这是我第一次使用这个 SDK,所以我需要一些帮助。我想我问你的问题对你来说很容易。我想要做的是当用户进入 map 编辑模式时(如本页 http://www.birdtheme.org/useful/v3tool.html )。他可以做两件事:

  • 首先,他可以在 map 上绘制多边形(以标记农田的边界)。我希望用户按下 map 上的一个点并生成一条线直到下一个点。这样,他就会生成线,直到多边形闭合。 我绘制多边形的代码附在下面。但问题是它永远不会关闭多边形。但问题是我想要它,当线的起点和终点被触及或线交叉时,关闭多边形。我该怎么做它?正如你在图片中看到的,我可以画出无限的线条。

    let pathEditField = GMSMutablePath()
    func mapView(_ mapView: GMSMapView, didTapAt coordinate: CLLocationCoordinate2D) {
    
        if modeEditing {
            pathEditField.add(coordinate)
            let polyline = GMSPolyline(path: pathEditField)
            polyline.map = mapView
    
        }
    }
    
  • 其次,绘制多边形后,顶点会以某种方式突出显示,然后您可以移动该顶点以完成调整。

我给你留了一张截图,这样你就知道用户可以在哪里创建多边形以及在哪里可以调整顶点。

问题是我不知道该怎么做,而且我找不到它的文档。我的问题是,您知道任何完成类似操作的教程吗?或者你可以不写代码就开始写代码吗?

enter image description here

用户可以通过创建多边形并在之后进行调整来确定其地 block 的范围。

非常感谢。

最佳答案

使用此代码创建多边形 GoogleMaps documentaion

 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

关于ios - 在 SDK 谷歌地图中快速绘制多边形/形状,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45061084/

相关文章:

ios - 观看 OS 2 问题以设置图像

android - 在添加另一个之前检查现有标记

Android Google Maps PolygonOptions 未根据给定的坐标集绘制

iOS 5 使用 .XIB 创建自定义 UIButton 可重用组件

ios - 在没有网络时在网页中执行操作时关闭 WKWebview

ios - 表格单元格中的 UIButton "unrecognized selector sent to instance"

javascript - Gmap3 标记可见,但无法与其交互

swift - 如何更改 UIBarButtonItem 的字体样式和大小?

ios - Apple Push Notifications - 应用商店提交

ios - [project] 的 Xcode Capabilities 警告可能无法正常运行,因为它的权利使用占位符团队 ID