2015-08-24 6 views
1

Я слежу за этим уроком, который помогает мне нарисовать маршруты маршрута (полилиния) между двумя отмеченными местами на карте. Однако мне не нужно получать привязанные местоположения, так как к тому моменту, когда я хочу показать пользователю маршрут, у меня уже будет широта и долгота происхождения и назначения.Могу ли я создать GMSPath с широтой и долготой? У меня уже есть pathFromEncodedPath?

Могу ли я создать 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;} 

ответ

5

Да, вы можете сделать это с помощью следующего метода.

Прежде всего, необходимо создать 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]; 
+0

Но разве это не просто рисовать прямую линию между двумя местами? Будет ли это нарисовать соответствующий маршрут? – durazno

+0

@ durazno Да провести прямую линию две линии между двумя точками. если вы хотите на самом деле маршрута, вам нужен идеальный массив местоположения или кодирование полилинии. –

+0

Что вы подразумеваете под идеальным массивом местоположения? – durazno