2009-12-29 9 views
5

Me gustaría anotar más los marcadores personalizados que he colocado en un MapView (utilizando ItemizedOverlay) mostrando una etiqueta de texto simple que aparece para un elemento en particular cuando se dispara el evento onTap.Mostrar una etiqueta de texto/burbuja descripting simple cuando el usuario toca en OverlayItem en MapView

Este es un ejercicio trivial en Google Maps JavaScript API y en MapKit en iPhone, pero no es obvio para mí cuál es la mejor o más fácil forma de hacerlo en Android.

+5

Para cualquier persona interesada, ahora he creado mi propio punto de vista reutilizable y Clase ItemizedOverlay para lograr esto: http://github.com/jgilfelt/android-mapviewballoons –

Respuesta

4

Si desea que el mensaje sea transitorio, utilice un Toast. Ver here para un ejemplo.

Si desea que el mensaje sea más persistente, usted podría:

  1. Ponga la MapView dentro de algún contenedor que admite pedidos del eje z (por ejemplo, RelativeLayout)
  2. Añadir un niño de ese mismo contenedor después del MapView, esa es su "burbuja de descripción/etiqueta de texto simple", con android:visibility="gone"
  3. Cuando quiera mostrar la burbuja, ajuste su relleno superior e izquierdo para colocarlo donde desee con respecto al punto, luego haga es visible
  4. Cuando el usuario hace algo para que la burbuja desaparece, hacer que su visibilidad sea GONE nuevo
  5. Repita los pasos # 3 y # 4 según sea necesario
+0

esto todavía presenta un problema si quieres mapas como baloon que tiene una pequeña flecha en la parte inferior y necesitas centralizarlo, eso es si es TextView, necesito saber que estoy DESPUÉS de onMeasure y onLayout donde llamé, y solo entonces puedo calcular los coords (x, y) según la posición de superposición en el mapa, esto no es tan trival. – codeScriber

Cuestiones relacionadas