Найти количество маршрутов между двумя местами - PullRequest
5 голосов
/ 23 мая 2011

Мне нужно выяснить количество маршрутов из источника в пункт назначения с помощью API карт Google, а затем найти среди тех, какой из них самый короткий.

Я могу получить один маршрут, используя этот код

-(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=dragdir&saddr=%@&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; Я следовал этому уроку .

Как я могу это сделать? Можно ли опубликовать пример кода или учебник?

Ответы [ 2 ]

5 голосов
/ 23 мая 2011

альтернативы (необязательно), если задано значение true, указывает, что служба маршрутов может предоставить более одной альтернативы маршрута в ответе.Обратите внимание, что предоставление альтернативных маршрутов может увеличить время ответа от сервера.

С API Google Directions

Вам необходимо добавить в свой запрос альтернативные ссылки =правда

0 голосов
/ 31 января 2012

Для получения нескольких маршрутов вы должны использовать стандартное направление google api . Через этот API вы можете получить различные маршруты в зависимости от выбранного вами режима движения, например, вождения, ходьбы или езды на велосипеде (велосипедный маршрут доступен только в США). Например: http://maps.googleapis.com/maps/api/directions/xml?origin=srcLatitude,srcLongitude&destination=destLatitude,destLongitude&mode=driving&sensor=false
Здесь вы можете указать широту и долготу источника и пункта назначения и изменить значение параметра режима на вождение, ходьбу или велосипед, чтобы получить несколько маршрутов.

...