Dado que mi aplicación Google Maps se actualizó recientemente, ahora la versión 10.11.1 , el siguiente código no muestra la etiqueta como se esperaba, documentó y funcionó anteriormente:
val intent = Intent(Intent.ACTION_VIEW, Uri.parse("geo:38.8951,100.0364?q=38.8951,100.0364(foo)")).setPackage("com.google.android.apps.maps") if (intent.resolveActivity(packageManager) == null) { intent.setPackage(null) } startActivity(intent) Y tampoco esta versión (con 0,0 inmediatamente después de geo: ):
val intent = Intent(Intent.ACTION_VIEW, Uri.parse("geo:0,0?q=38.8951,100.0364(foo)")).setPackage("com.google.android.apps.maps") if (intent.resolveActivity(packageManager) == null) { intent.setPackage(null) } startActivity(intent)El código de ejemplo en la documentación oficial tampoco muestra una etiqueta:
// Display a label at the location of Google's Sydney office Uri gmmIntentUri = Uri.parse("geo:0,0?q=-33.8666,151.1957(Google+Sydney)"); Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri); mapIntent.setPackage("com.google.android.apps.maps"); startActivity(mapIntent); 
Actualización: Programado para corregirse en v11.12 quizás antes de finales de enero de 2022.
Aún no hay solución, incluso con la última actualización de mapas 10.12.1, la etiqueta aún no se muestra, incluso si la documentación todavía dice que debería haber creado un problema en el rastreador de problemas de Google: https://issuetracker.google.com/issues/129726279
esperemos que tengamos alguna información en breve.
Según Google , es un error en la aplicación Google Maps. Está arreglado en la versión 11.12.
Creo que lo estamos haciendo de la manera equivocada aquí. Si yo fuera Google, también me sentiría inseguro al permitir que los desarrolladores publiquen direcciones con una etiqueta de destino abstracta, estoy seguro de que nunca planean arreglar esto.
Recomiendo la siguiente solución según los nuevos estándares de Google. https://developers.google.com/maps/documentation/urls/android-intents :
https://www.google.com/maps/dir/?api=1&destination=LATITUDE,LONGITUDE
Si observa la mayoría de las aplicaciones en estos días, incluidas las que he creado, esto nos permite publicar un LAT/LONG para que el usuario vaya con los propios valores de dirección de Google integrados como la etiqueta de destino.
Para iniciar realmente la aplicación Google Maps, simplemente inicie una intención web, yo uso el contexto de la aplicación en este caso.
fun startGoogleMaps(context: Context, lat: Double, long: Double) { startWebBrowser( context, Uri.parse("https://www.google.com/maps/dir/?api=1&destination=$lat,$long") ) } fun startWebBrowser(context: Context, link: Uri?) { if (link != null) { val webIntent = Intent(Intent.ACTION_VIEW, link).apply { addFlags(FLAG_ACTIVITY_NEW_TASK) } if (webIntent.resolveActivity(context.packageManager) != null) { context.startActivity(webIntent) } } }