#objective-c #cocoa-touch #ios #google-maps #core-location
#задача-c #cocoa-touch #iOS #google-карты #ядро-местоположение
Вопрос:
Мне нужно выяснить количество маршрутов от источника до пункта назначения с помощью Google Maps API, а затем найти среди них кратчайший маршрут.
Я могу получить один маршрут, используя этот код
-(NSArray*) calculateRoutesFrom:(CLLocationCoordinate2D) f to: (CLLocationCoordinate2D) t {
NSString* saddr = [NSString stringWithFormat:@"%f,%f", f.latitude, f.longitude];
NSString* daddr = [NSString stringWithFormat:@"%f,%f", t.latitude, t.longitude];
NSString* apiUrlStr = [NSString stringWithFormat:@"http://maps.google.com/maps?output=dragdiramp;saddr=%@amp;daddr=%@", saddr, daddr];
NSURL* apiUrl = [NSURL URLWithString:apiUrlStr];
NSLog(@"api url: %@", apiUrl);
NSString *apiResponse = [NSString stringWithContentsOfURL:apiUrl];
NSString* encodedPoints = [apiResponse stringByMatching:@"points:\"([^\"]*)\"" capture:1L];
return [self decodePolyLine:[encodedPoints mutableCopy]];
}
но я не могу получить несколько маршрутов.
Я новичок в использовании Google Maps API; Я следовал этому руководству.
Как я могу это сделать? Может кто-нибудь, пожалуйста, опубликовать какой-нибудь пример кода или учебное пособие?
Комментарии:
1. если я могу найти ответ в Google, то я не размещаю вопросы на этом форуме, я не нашел его в Google, тогда только я размещаю вопрос на этом форуме. Я не понял, почему эти люди проголосовали против моего вопроса.
Ответ №1:
альтернативы (необязательно), если установлено значение true, указывает, что служба маршрутов может предоставить в ответе более одной альтернативы маршрута. Обратите внимание, что предоставление альтернативных маршрутов может увеличить время отклика от сервера.
Вам нужно добавить в свой запрос альтернативные ссылки = true
Комментарии:
1. Большое вам спасибо, Теренте лонут Александру, Но я нашел в нем какие-либо изменения. Где я могу получить несколько маршрутов. Как я могу их отобразить.
Ответ №2:
Для получения нескольких маршрутов вы должны использовать стандартный Google direction api. С помощью этого API вы можете получать различные маршруты в зависимости от выбранного вами в api режима передвижения, то есть вождения, ходьбы или езды на велосипеде (маршрут для езды на велосипеде доступен только в США) Например: http://maps.googleapis.com/maps/api/directions/xml?origin=srcLatitude,srcLongitudeamp;destination=destLatitude,destLongitudeamp; режим=вождениеидатчик=false
Здесь вы можете указать широту и долготу источника и пункта назначения и изменить значение параметра mode на вождение, ходьбу пешком или на велосипеде, чтобы получить несколько маршрутов.