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

时间:2015-09-21 05:56:55

标签: ios iphone google-maps-markers

我是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;

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

1 个答案:

答案 0 :(得分:1)

当您完成两点之间的绘制路线时,您将拥有路线的坐标。您可以从这些坐标中获取一些坐标并在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;
}

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