studio reales proyectos programacion libro introducción incluye herramientas fundamentos fuente español código con avanzado aplicaciones api google-maps

api - reales - libro de android studio en español pdf



mapa de google dibujo estático "ruta" en lugar de línea recta (4)

Logré obtener un mapa estático de google mostrando una ruta entre 2 coordenadas.

El problema es que la ruta dibujada es solo una línea recta entre los 2 puntos.

Leí que para poder dibujar la "ruta" entre 2 puntos en un mapa de Google estático, como en, siguiendo las carreteras y la geografía de la ciudad en lugar de la línea recta, necesito agregar todas las coordenadas / cruce para la ruta.

¿Alguien sabe una solución fácil para resolver esto?


Creo que no puedes usar esta funcionalidad con la API estática. Sin embargo, puede usar Directions con JavaScript API V3.



Usando Polylines puedes dibujar en línea recta.

La clase Polyline define una superposición lineal de segmentos de línea conectados en el mapa. Un objeto Polyline consiste en una matriz de ubicaciones LatLng y crea una serie de segmentos de línea que conectan esas ubicaciones en una secuencia ordenada.

puedes ver el ejemplo aquí

https://google-developers.appspot.com/maps/documentation/javascript/examples/polyline-simple

sobre polilíneas

https://developers.google.com/maps/documentation/javascript/overlays


Busqué en muchas sugerencias y códigos y combiné todo para hacer una solución muy simple, el código anterior debería funcionar para usted:

NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"https://maps.googleapis.com/maps/api/directions/json?origin=%f,%f&destination=%f,%f&sensor=false&mode=driving",[startLat floatValue] ,[startLong floatValue], [endLat floatValue], [endLong floatValue]]]; NSDictionary *PathInfo;//the json of the result NSURLRequest *request = [NSURLRequest requestWithURL:url]; NSURLResponse *response = nil; NSError *error = nil; NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error]; if (!error) { PathInfo = [NSJSONSerialization JSONObjectWithData:responseData options:NSJSONReadingAllowFragments error:&error]; GMSPath *path =[GMSPath PathInfo[@"routes"][0][@"overview_polyline"][@"points"]]; GMSPolyline *singleLine = [GMSPolyline polylineWithPath:path]; singleLine.strokeWidth = 3; singleLine.strokeColor = [UIColor redColor]; singleLine.map = mapView_; }