2011-05-23 9 views
5

Necesito averiguar el número de rutas desde una fuente a un destino usando la API de Google maps, y luego encontrar, entre ellas, cuál es la ruta más corta.Encontrar el número de rutas entre dos lugares

yo soy capaz de conseguir una ruta mediante el uso de este código

-(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]]; 
} 

pero soy incapaz de obtener múltiples rutas.

Soy nuevo en el uso de la API de Google Maps; Seguí this tutorial.

¿Cómo puedo hacer esto? ¿Alguien puede publicar algún código de muestra o un tutorial?

+3

si puedo encontrar una respuesta en google, entonces no hago preguntas en este foro, no lo encontré buscando en Google, entonces solo hago una pregunta en este foro. No entendí por qué las personas abajo votan mi pregunta. – MaheshBabu

Respuesta

5

alternativas (opcional), si se establece en true, especifica que las direcciones servicio puede proporcionar más de un ruta alternativa en la respuesta. Tenga en cuenta que proporcionar alternativas de ruta puede aumentar el tiempo de respuesta desde el servidor .

De The Google Directions API

Es necesario añadir en sus alternativas de enlace de consulta = true

+0

Muchas gracias Terente lonut Alexandru, pero encontré cualquier cambio. ¿Dónde puedo obtener múltiples rutas? ¿Cómo puedo mostrarlas? – MaheshBabu

0

Para la obtención de las múltiples rutas que tienen que utilizar el standard google direction api. A través de esta API puede obtener diferentes rutas en las bases de modo de viaje que seleccione en api, es decir, conducir, caminar o andar en bicicleta (ruta ciclista disponible solo en EE. UU.) Por ejemplo: http://maps.googleapis.com/maps/api/directions/xml?origin=srcLatitude,srcLongitude&destination=destLatitude,destLongitude&mode=driving&sensor=false
Aquí puede indicar la latitud y longitud de origen y destino y cambie el valor del parámetro de modo a conducir, caminar o andar en bicicleta para obtener múltiples rutas.

Cuestiones relacionadas