Uso de ItemizedOverlay y OverlayItem en Android Beta 0.9

¿Alguien ha logrado utilizar ItemizedOverlays en Android Beta 0.9? No puedo conseguir que funcione, pero no estoy seguro si he hecho algo mal o si esta funcionalidad aún no está disponible.

He estado intentando utilizar las clases OverlayItem y OverlayItem . Su propósito es simular marcadores de mapa (como se ve en Google Maps Mashups), pero he tenido problemas para que aparezcan en el mapa.

Puedo añadir mis propias superposiciones personalizadas usando una técnica similar, es sólo el ItemizedOverlays que no funcionan.

Una vez que he implementado mi propio ItemizedOverlay (y sobreescribido createItem), la creación de una nueva instancia de mi clase parece funcionar (puedo extraer OverlayItems de ella), pero añadirla a la lista de superposición de un mapa no hace que aparezca como debería.

Este es el código que utilizo para añadir la clase ItemizedOverlay como una superposición a mi MapView .

 // Add the ItemizedOverlay to the Map private void addItemizedOverlay() { Resources r = getResources(); MapView mapView = (MapView)findViewById(R.id.mymapview); List<Overlay> overlays = mapView.getOverlays(); MyItemizedOverlay markers = new MyItemizedOverlay(r.getDrawable(R.drawable.icon)); overlays.add(markers); OverlayItem oi = markers.getItem(0); markers.setFocus(oi); mapView.postInvalidate(); } 

Donde MyItemizedOverlay se define como:

 public class MyItemizedOverlay extends ItemizedOverlay<OverlayItem> { public MyItemizedOverlay(Drawable defaultMarker) { super(defaultMarker); populate(); } @Override protected OverlayItem createItem(int index) { Double lat = (index+37.422006)*1E6; Double lng = -122.084095*1E6; GeoPoint point = new GeoPoint(lat.intValue(), lng.intValue()); OverlayItem oi = new OverlayItem(point, "Marker", "Marker Text"); return oi; } @Override public int size() { return 5; } } 

En aras de la integridad voy a repetir la discusión sobre el post de Reto en los Grupos de Android aquí.

Parece que si estableces los límites en tu drawable hace el truco:

 Drawable defaultMarker = r.getDrawable(R.drawable.icon); // You HAVE to specify the bounds! It seems like the markers are drawn // through Drawable.draw(Canvas) and therefore must have its bounds set // before drawing. defaultMarker.setBounds(0, 0, defaultMarker.getIntrinsicWidth(), defaultMarker.getIntrinsicHeight()); MyItemizedOverlay markers = new MyItemizedOverlay(defaultMarker); overlays.add(markers); 

Entre, lo anterior es desvergonzadamente arrancado de la demo en MarcelP.info . También ver aquí para un buen howto.

  • Dibujar superposición en Android (en todo el sistema)
  • ¿Hay alguna forma de que los elementos de la interfaz de usuario se superpongan ligeramente (uno encima del otro) sin usar diseños absolutos?
  • Entender boundCenterBottom ()
  • Dibujo es constantemente llamado en mi superposición de mapa de Android
  • Superposiciones de mapa más eficientes en Android
  • Especifique Layout Margen superior para la barra de acción de superposición
  • Dibujar una superposición similar a MapsApp
  • ICS teclado de vuelta, los botones de inicio no tomar contacto cuando se abre en la superposición
  • Animación superpuesta a una actividad de la cámara
  • Cómo obtener el largo y lat valor de cuatro esquinas en el mapa en android?
  • ¿Cómo puedo poner una vista encima de un glSurfaceView con un fondo transparente?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.