Android: ¿Cómo configurar imageView como un marcador en google map API android?

Hasta ahora yo estaba utilizando dibujable para poblar marcador en mi mapa. Ahora me preguntaba que sería genial si pudiera mostrar la imagen personalizada como un marcador en el mapa.

Hasta ahora lo estoy haciendo como

itemized= new Itemazide(drawable, mContext); 

Quiero lograr algo como

esta

Sí, me preguntaba si podía hacer algo como esto, es decir, mostrar una View personalizada en lugar de dibujable. Puedes anular el método draw() , pero por desgracia siempre (alguien por favor dime que estoy equivocado) tiene que ser dibujable. Creo que es porque la View personalizada tomaría demasiada memoria.

Dicho esto, dependiendo de lo que usted está tratando de lograr, es probablemente posible hackear la biblioteca mapview-baloon para lograr algún efecto similar.

EDIT: Ahora que has demostrado lo que estás tratando de lograr, creo que deberías anular draw() en tu OverlayItem y en este método inflar tu ImageView . Pero no intenté hacerlo de esta manera, así que puede haber algunos inconvenientes (recuerdo un hilo de SO en un asunto similar que afirmó, que interrumpiría todos los eventos de toque en este OverlayItem ).

Puedo ser un poco tarde, pero voy a publicar una solución para otros que han enfrentado / se enfrentan a un problema similar. Así que, básicamente, lo que tienes que hacer (al menos para la solución que estás buscando, es decir, una imagen personalizada impuesta sobre un fondo similar a una caja) es imponer la customImage en la caja de fondo con la ayuda de un lienzo. Utilizando esta implementación, puede crear un BitmapDrawable desde el lienzo que puede asignar como un marcador para su 'Overlay' / 'ItemizedOverlay'. Además, por favor, abstenerse de crear un ImageView para cada superposición ya que esto destruirá completamente su memoria / su aplicación si tiene que tratar con miles de tales ImageViews simultáneamente. En su lugar, utilice BitmapDrawables que se pueden asignar a las superposiciones durante su construcción y no consumen suficiente memoria como ImageView.

 public BitmapDrawable imageOnDrawable(int drawableBackground, Bitmap customImage) { //The following line is optional but I'd advise you to minimize the size of //the size of the bitmap (using a thumbnail) in order to improve draw //performance of the overlays (especially if you are creating a lot of overlays). Bitmap customImageThumbnail = ThumbnailUtils.extractThumbnail( customImage, 100, 100); Bitmap bm = BitmapFactory.decodeResource(getResources(), drawableId); bm = Bitmap.createScaledBitmap(bm, 112, 120, false); Canvas canvas = new Canvas(bm); canvas.drawBitmap(bm, 0, 0, null); // The 6,6 in the below line refer to the offset of the customImage/Thumbnail // from the top-left corner of the background box (or whatever you want to use // as your background) canvas.drawBitmap(customImageThumbnail, 6, 6, null); return new BitmapDrawable(bm); } 
 In google mapv2, map-view ballon like functionality is provided by default. Just, you have to write some lines for it : private GoogleMap mapView; if (mapView == null) mapView = ((MapFragment) getFragmentManager().findFragmentById( R.id.map_view)).getMap(); mapView.getUiSettings().setMyLocationButtonEnabled(false); mapView.setMyLocationEnabled(true); MarkerOptions markerDestinationOptions; markerDestinationOptions = new MarkerOptions() .position(latLngDestination) .icon(BitmapDescriptorFactory.fromResource(R.drawable.marker)); mapView.addMarker(markerDestinationOptions); 
FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.