如何在谷歌地图IOS上添加多边形?

如何在谷歌地图IOS上添加多边形?,ios,google-maps,polygon,Ios,Google Maps,Polygon,我想在谷歌地图视图上添加多边形,但我有这个错误 no visible @ interface GMSMapView declares the selector add overlay 代码: 要在Google地图上绘制多边形,您应该使用GMSPolygon类。 绘制多边形的步骤: 创建GMSPolygon 使用坐标创建GMSPath。 自定义GMSPolygon的颜色、宽度。。 将地图视图指定给Polygon.map属性 在苹果地图上画 使用MKPolygon 加载坐标 使用map view调

我想在谷歌地图视图上添加多边形,但我有这个错误

no visible @ interface GMSMapView declares the selector add overlay
代码:


要在Google地图上绘制多边形,您应该使用GMSPolygon类。 绘制多边形的步骤:

创建GMSPolygon 使用坐标创建GMSPath。 自定义GMSPolygon的颜色、宽度。。 将地图视图指定给Polygon.map属性 在苹果地图上画

使用MKPolygon 加载坐标 使用map view调用Addoverlay/Overlays并给出路径 自定义渲染器ForOverlay
同样的步骤适用于多段线

要在谷歌地图上绘制多边形,应该使用GMSPolygon类。 绘制多边形的步骤:

创建GMSPolygon 使用坐标创建GMSPath。 自定义GMSPolygon的颜色、宽度。。 将地图视图指定给Polygon.map属性 在苹果地图上画

使用MKPolygon 加载坐标 使用map view调用Addoverlay/Overlays并给出路径 自定义渲染器ForOverlay 同样的步骤适用于多段线

Swift 2.2:

Swift 2.2:


Dheeraj的答案略有变化:aka更新为Swift 4


Dheeraj的答案略有变化:aka更新为Swift 4

addOverlay方法适用于苹果公司的MKMapView,如果你想在谷歌地图视图中添加多段线,你必须先声明一条GMSMTablePath,然后将路径添加到GMSPolyline,然后将其添加到你的地图视图中,你可以查看更多细节。addOverlay方法适用于苹果公司的MKMapView,如果你想在谷歌地图视图中添加多段线,您必须首先声明GMSMutablePath,然后将该路径添加到GMSPolyline,然后将其添加到地图视图中,您可以查看更多详细信息。
CLLocationCoordinate2D commuterLotCoords[5]={
        CLLocationCoordinate2DMake(39.048019,-76.850535),
        CLLocationCoordinate2DMake(39.048027,-76.850234),
        CLLocationCoordinate2DMake(39.047407,-76.850181),
        CLLocationCoordinate2DMake(39.047407,-76.8505),
        CLLocationCoordinate2DMake(39.048019,-76.850535)
    };

MKPolygon *commuterPoly1 = [MKPolygon polygonWithCoordinates:commuterLotCoords count:5];
[mapView addOverlay:commuterPoly1];
GMSPolygon * polygon = [[GMSPolygon alloc] init];
GMSMutablePath * rect = [GMSMutablePath path];
[rect addCoordinate:CLLocationCoordinate2DMake(39.048019,-76.850535)];
[rect addCoordinate:CLLocationCoordinate2DMake(39.048027,-76.850234)];
[rect addCoordinate:CLLocationCoordinate2DMake(39.047407,-76.850181)];
[rect addCoordinate:CLLocationCoordinate2DMake(39.047407,-76.8505)];
[rect addCoordinate:CLLocationCoordinate2DMake(39.048019,-76.850535)];
polygon.path=rect;
polygon.fillColor = [UIColor colorWithRed:0.25 green:0 blue:0 alpha:0.2f];
polygon.strokeColor = [UIColor blackColor];
polygon.strokeWidth = 2;
polygon.map = mapView;
 let polygon = GMSPolygon()
        let rect = GMSMutablePath()
        rect.addCoordinate(CLLocationCoordinate2DMake(22.7196, 75.8577))
        rect.addCoordinate(CLLocationCoordinate2DMake(22.7396, 75.8577))
        rect.addCoordinate(CLLocationCoordinate2DMake(22.7196, 75.1577))
        rect.addCoordinate(CLLocationCoordinate2DMake(22.9196, 76.8577))
        rect.addCoordinate(CLLocationCoordinate2DMake(22.9196, 75.8577))
        rect.addCoordinate(CLLocationCoordinate2DMake(23.7196, 77.8577))

        polygon.path = rect
        polygon.fillColor = UIColor(red: 0.25, green: 0, blue: 0, alpha: 0.2)
        polygon.strokeColor = UIColor.blackColor()
        polygon.strokeWidth = 2
        polygon.map = mapView
func tempPolygons(){
    let polygon = GMSPolygon()
    let rect = GMSMutablePath()
    rect.add(CLLocationCoordinate2DMake(18.546160, 73.903992))
    rect.add(CLLocationCoordinate2DMake(18.546099, 73.904817))
    rect.add(CLLocationCoordinate2DMake(18.545922, 73.905643))
    rect.add(CLLocationCoordinate2DMake(18.545854, 73.905973))
    rect.add(CLLocationCoordinate2DMake(18.545105, 73.905915))
    rect.add(CLLocationCoordinate2DMake(18.543153, 73.904867))
    rect.add(CLLocationCoordinate2DMake(18.543016, 73.903805))
    rect.add(CLLocationCoordinate2DMake(18.545473, 73.903863))
    rect.add(CLLocationCoordinate2DMake(18.546140, 73.904013))

    polygon.path = rect
    polygon.fillColor = #colorLiteral(red: 0.9474907517, green: 0.2350950539, blue: 0.1785519123, alpha: 0.24)
    //polygon.strokeColor = UIColor.black
    polygon.strokeWidth = 0
    polygon.map = mapView
}