the that studio proyecto google example ensure enabled ejemplo android google-maps google-maps-android-api-2

android - that - Agregar un botón a una vista personalizada InfoWindowAdapter que puede registrar clics



proyecto google maps android (3)

En cambio, escuche los eventos de clic de marcador con OnMarkerClickListener y visualice su propia vista completa directamente. Sin embargo, puede ser un poco más trabajo anclarlo a la ubicación del marcador. Prueba PopupWindow con showAtLocation (Ver padre, int gravity, int x, int y)

Estoy agregando un InfoWindowAdapter con un diseño personalizado al fragmento de mapa basado en Android Google Maps API v2. He puesto un botón en la vista que devuelvo de getInfoWindow () y mientras se muestra perfectamente bien, cuando hago clic en dicho botón, la ventana registra un clic (parpadea con un tono amarillento como de costumbre) mientras que el botón no lo hace.

¿Cómo puedo hacer "clic" en un botón de la ventana de información? Y, por extensión, ¿cualquier vista dentro de una ventana de información?


Tal vez pueda configurar un AlartDialog personalizado en InfoWindowClickListener para cambiar algo.

map.setOnInfoWindowClickListener(new OnInfoWindowClickListener() { public void onInfoWindowClick(Marker marker) { String[] items={"onefunction","twofunction"}; AlertDialog.Builder itemDilog = new AlertDialog.Builder(context); itemDilog.setTitle(""); itemDilog.setCancelable(false); itemDilog.setItems(items, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { switch(which){ case 0:{ onefunction(); }break; case 1:{ twofunction(); }break; } } }); itemDilog.show(); } });


Si bien puede configurar una ventana de información para que sea una vista arbitraria con GoogleMap.setInfoWindowAdapter() , la ventana de información que se representa en el mapa no es una vista en vivo. En cambio, es una instantánea de la vista en el momento en que el adaptador devolvió la vista (consulte aquí ). Por lo tanto, desafortunadamente no se comporta como una vista estándar una vez que se coloca en el mapa.