Android: cómo iniciar el bash de mapa de Google en la aplicación de Android con cierta ubicación, nivel de zoom y marcador

La intención del mapa no funciona con un nivel de zoom específico ni con un marcador personalizado

float lat = 40.714728f; float lng = -73.998672f; String maplLabel = "ABC Label"; final Intent intent = new Intent(android.content.Intent.ACTION_VIEW, Uri.parse("geo:0,0?q="+lat+","+lng+"&z=16 (" + maplLabel + ")")); startActivity(intent); 

¿Alguien sabe lo que está mal? o como hacerlo? Quiero mostrar un mapa de cierto (lat, lng) con un marcador de etiqueta personalizado en un nivel de zoom específico.

Pruebe la siguiente solución:

 double latitude = 40.714728; double longitude = -73.998672; String label = "ABC Label"; String uriBegin = "geo:" + latitude + "," + longitude; String query = latitude + "," + longitude + "(" + label + ")"; String encodedQuery = Uri.encode(query); String uriString = uriBegin + "?q=" + encodedQuery + "&z=16"; Uri uri = Uri.parse(uriString); Intent intent = new Intent(android.content.Intent.ACTION_VIEW, uri); startActivity(intent); 

El crédito va aquí: respuesta

Creo que el problema tiene que ver con los espacios en su etiqueta. La encoding de la cadena de consulta eliminará el problema reemplazando los espacios con caracteres válidos

Mostrar ubicación en la aplicación de mapas:

 Intent intent = new Intent(); intent.setAction(Intent.ACTION_VIEW); String data = String.format("geo:%s,%s", latitude, longitude); if (zoomLevel != null) { data = String.format("%s?z=%s", data, zoomLevel); } intent.setData(Uri.parse(data)); startActivity(intent); 
 Intent intent = new Intent(android.content.Intent.ACTION_VIEW, Uri.parse("http://maps.google.com/maps?daddr=" + location.getLatitude() + "," + location.getLongitude())); startActivity(intent); 

http://developer.android.com/guide/components/intents-common.html#Maps

Tiene prácticamente todo lo relacionado con la intención de Maps.