在 Google 地图 iOS 上绘制带有多个标记的路线

draw route with multiple markers on Google Map iOS

我是 iPhone 开发的新手,在我的应用程序中,我想在两点之间绘制路线并在我的路线上显示多个标记。现在我已经完成了两点之间的路线,但我不知道如何在我的路线上绘制多个标记。所以请帮我做这个。

提前致谢!!!

_markerStart = [GMSMarker new];
_markerStart.title = [[[routeDict objectForKey:@"legs"] objectAtIndex:0]objectForKey:@"start_address"];
_markerStart.icon = newImage; //[UIImage imageNamed:@"startMarker.png"];
_markerStart.map = gmsMapView;
_markerStart.position = startPoint;

_markerFinish = [GMSMarker new];
_markerFinish.title = [[[routeDict objectForKey:@"legs"] objectAtIndex:0]objectForKey:@"end_address"];
_markerFinish.icon = newImage; //[UIImage imageNamed:@"finishMarker.png"];
_markerFinish.map = gmsMapView;
_markerFinish.position = endPoint;

这里我添加了开始和结束标记。

当您完成绘制两点之间的路线后,您将获得路线坐标。您可以从中获取一些坐标并将它们绘制在 Google 地图上。

你可能用过GMSPolyline绘制路线。对于折线,您必须使用 GMSPath。从路径中,您可以使用方法

获取坐标

-(CLLocationCoordinate2D)coordinateAtIndex:(NSUInteger)index

GMSPath Doc

您可以使用这些坐标在路线上绘制标记。 GMSMarkers Doc

检查此代码(此处 gmsPath 为 GMSPath编辑

//GMSPath *gmsPath;
//NSString *title;
for (int i = 0; i < [gmsPath count]; i++) {
    CLLocationCoordinate2D location = [gmsPath coordinateAtIndex: i];
    GMSMarker *marker = [GMSMarker markerWithPosition:location];
    marker.title = title;
    marker.icon = [UIImage imageNamed:@"marker_img.png"];
    marker.map = self.mapView;
}

这将为每个坐标绘制标记。