Не удается нарисовать GMSPolyline с помощью Google Map SDK iOS - PullRequest
0 голосов
/ 10 июня 2018

Я использую приведенный ниже код. Json "маршруты" выбирает результат 3, но не рисует результат, не может понять, как полилинии не рисуются на карте, служба Google работает нормально и получает результаты со всеми деталями местоположения, но та же проблема не показывает ничегона карте еще пусто карта просто покажи мое текущее местоположение.проверьте любой мой код и скажите мне мою проблему

 NSString *originString = [NSString stringWithFormat:@"%f,%f", origin.coordinate.latitude, origin.coordinate.longitude];
NSString *destinationString = [NSString stringWithFormat:@"%f,%f", destination.coordinate.latitude, destination.coordinate.longitude];
NSString *directionsAPI = @"https://maps.googleapis.com/maps/api/directions/json?";
NSString *directionsUrlString = [NSString stringWithFormat:@"%@&origin=%@&destination=%@&mode=driving", directionsAPI, originString, destinationString];
NSURL *directionsUrl = [NSURL URLWithString:directionsUrlString];


NSURLSessionDataTask *fetchDirectionsTask = [[NSURLSession sharedSession] dataTaskWithURL:directionsUrl completionHandler:
                                             ^(NSData *data, NSURLResponse *response, NSError *error)
                                             {
                                                 NSDictionary *json = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];
                                                 if(error)
                                                 {
                                                     if(completionHandler)
                                                     completionHandler(nil);
                                                     return;
                                                 }

                                                 NSArray *routesArray = [json objectForKey:@"routes"];

                                                 GMSPolyline *polyline = nil;
                                                 if ([routesArray count] > 0)
                                                 {
                                                     NSDictionary *routeDict = [routesArray objectAtIndex:0];
                                                     NSDictionary *routeOverviewPolyline = [routeDict objectForKey:@"overview_polyline"];
                                                     NSString *points = [routeOverviewPolyline objectForKey:@"points"];
                                                     GMSPath *path = [GMSPath pathFromEncodedPath:points];
                                                     polyline = [GMSPolyline polylineWithPath:path];
                                                     polyline.strokeColor = [UIColor blueColor];


                                                     if(polyline)
                                                     polyline.map = self.mapView;

                                                 }

                                                 // run completionHandler on main thread
                                                 dispatch_sync(dispatch_get_main_queue(), ^{
                                                     if(completionHandler)
                                                     completionHandler(polyline);
                                                 });
                                             }];
[fetchDirectionsTask resume];
...