4

我一直在关注本教程,该教程可以帮助我在地图上的 2 个点击位置之间绘制路线方向(折线)。但是,我不需要点击位置,因为当我想向用户显示路线时,我已经有了起点和目的地的纬度和经度。

我可以使用已有的经纬度数组创建 GMSPath 吗?如果是这样,如何..?

- (void)addDirections:(NSDictionary *)json {

NSDictionary *routes = [json objectForKey:@"routes"][0];

NSDictionary *route = [routes objectForKey:@"overview_polyline"];
NSString *overview_route = [route objectForKey:@"points"];
GMSPath *path = [GMSPath pathFromEncodedPath:overview_route];


GMSPolyline *polyline = [GMSPolyline polylineWithPath:path];
polyline.map = self.mainGoogleMap;}
4

1 回答 1

9

是的,您可以通过以下方法做到这一点。

首先你需要创建NSMutablePath全局对象。

然后您必须在该路径中添加纬度和经度,如下所示,然后将该路径分配给折线对象并绘制您的折线

在 viewDidLoad

 pathDynamic = [[GMSMutablePath alloc] init];

当您想在可变路径中添加位置时

   CLLocation *loc = [[CLLocation alloc] initWithLatitude:[[dictData valueForKey:@"fl_route_latitude"] doubleValue] longitude:[[dictData valueForKey:@"fl_route_longitude"] doubleValue]];
        
    [pathDynamic addCoordinate:loc.coordinate];//Add your location in mutable path
   
    GMSPolyline *polyline = [GMSPolyline polylineWithPath:pathDynamic];
    // Add the polyline to the map.
    polyline.strokeColor = AppOrangeColor;
    polyline.strokeWidth = 3.0f;
    polyline.map = [self getMapView];
于 2015-08-24T09:14:59.850 回答