ejemplos - ¿Hay una API para la navegación de Google Maps en Android?
google maps api key (5)
Estoy desarrollando una aplicación para Android donde estoy usando Google Maps. Está funcionando bien y bien. Pero
Después de cargar el mapa cuando un usuario ha hecho clic en "Obtener indicaciones", Google Maps aparece con la línea de dirección, sin embargo, no hay forma de obtener las instrucciones escritas paso a paso. Si solo abre Google Maps y obtiene indicaciones, puede alternar entre el Mapa y la Lista de direcciones.
¿Hay alguna API disponible para obtener todas las funciones tal como se indica en el mapa predeterminado de Google del dispositivo Android?
A partir de 2018, Google ha anunciado el SDK de navegación de Google Maps. Puede ver la siguiente presentación de la plataforma de Google Maps en I / O''18 donde los gerentes de producto de Google Maps mencionaron el SDK:
https://youtu.be/XVjyIA3f_Ic?t=20m31s
Desafortunadamente, este SDK no está disponible públicamente en este momento. Debe comunicarse con el equipo de ventas para comprar la licencia de este SDK. Como puedo ver, en la actualidad solo las grandes empresas que comparten viajes como Uber o Lyft tienen este SDK en sus aplicaciones.
Alternativamente, puede abrir la aplicación Google Maps en modo de navegación utilizando las URL de Google Maps . Las URL de Google Maps crean una URL universal multiplataforma para iniciar Google Maps, de modo que pueda usarlas con sus intenciones.
P.ej
String url = "https://www.google.com/maps/dir/?api=1&destination=Madrid,Spain&origin=Barcelona,Spain&travelmode=driving&dir_action=navigate";
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(intent);
Agregando al código de Scorpion (que funciona perfectamente) es posible que desee obtener su ubicación actual
Location currentLocation = googleMap.getMyLocation();
double latitudeCurr = currentLocation.getLatitude();
double longitudeCurr = currentLocation.getLongitude();
saddr
siendo dirección de inicio
siendo la dirección de destino
final Intent intent = new Intent(Intent.ACTION_VIEW,
Uri.parse("+http://maps.google.com/maps?" "saddr="
+ latitudeCurr + "," + longitudeCurr + "&daddr="
+ latitude + "," + longitude));
intent.setClassName("com.google.android.apps.maps",
"com.google.android.maps.MapsActivity");
startActivity(intent);
Esto es lo que uso en mi aplicación.
Aquí hay una solución.
El Intención a continuación solicitará una navegación paso a paso hacia el zoológico de Taronga, en Sydney, Australia, desde su ubicación GPS actual
Uri gmmIntentUri = Uri.parse("google.navigation:q=Taronga+Zoo,+Sydney+Australia");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);
Puede dar latitud y longitud en lugar del nombre de la ubicación.
Uri gmmIntentUri = Uri.parse("google.navigation:q=-33.846346,151.239518");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);
Consulta here para más información.
Esto debería ser de ayuda Instrucciones de ruta / conducción en Android por mobile.synyx.de
leer -> Obtener los geopuntos de google maps
La mejor forma de obtener direcciones y rutas puede utilizar el Servicio web de Google Maps. Te proporcionará todo. He utilizado esto en mi aplicación.
Aquí está el ejemplo donde saddr = dirección de origen y daddr = dirección de destino (es decir, latitud y longitud). También puede pasar una cadena como dirección en lugar de lat / lng.
final Intent intent = new Intent(Intent.ACTION_VIEW,Uri.parse("http://maps.google.com/maps?" + "saddr="+ latitude + "," + longitude + "&daddr=" + latitude + "," + longitude));
intent.setClassName("com.google.android.apps.maps","com.google.android.maps.MapsActivity");
startActivity(intent);
Espero que esto te ayudará.