¿Cómo puedo dibujar una flecha que muestre la dirección de manejo en MapView?

Utilizo ese componente de Google Maps MapView en una aplicación de Android. Puedo usar la ubicación GPS para mostrar mi ubicación con un punto. Pero me gustaría mostrar una flecha en su lugar, que señala la dirección de conducción (rodamiento). Creo que puedo usar el valor del bearing para obtener el ángulo de la flecha.

¿Cómo puedo hacer eso?

Asumiendo que usted tiene la localización entonces obtenga el cojinete haciendo:

 float myBearing = location.getBearing(); 

Para implementar la superposición utilizaremos ItemizedOverlay y OverlayItem . Necesitará subclasificar OverlayItem para agregar la funcionalidad para rotar Drawable. Algo como:

 public BitmapDrawable rotateDrawable(float angle) { Bitmap arrowBitmap = BitmapFactory.decodeResource(context.getResources(), R.drawable.map_pin); // Create blank bitmap of equal size Bitmap canvasBitmap = arrowBitmap.copy(Bitmap.Config.ARGB_8888, true); canvasBitmap.eraseColor(0x00000000); // Create canvas Canvas canvas = new Canvas(canvasBitmap); // Create rotation matrix Matrix rotateMatrix = new Matrix(); rotateMatrix.setRotate(angle, canvas.getWidth()/2, canvas.getHeight()/2); // Draw bitmap onto canvas using matrix canvas.drawBitmap(arrowBitmap, rotateMatrix, null); return new BitmapDrawable(canvasBitmap); } 

Entonces todo lo que queda por hacer es aplicar este nuevo Drawable al OverlayItem. Esto se hace usando el método setMarker ().

  • ¿Cómo puedo poner una vista encima de un glSurfaceView con un fondo transparente?
  • Superponer una actividad en otra actividad O superponer una vista sobre otra
  • Después de eliminar los eventos de tapa de OverlayItem todavía activan
  • Animación superpuesta a una actividad de la cámara
  • ¿Cómo crear una superposición que bloquea los eventos de toque a la interfaz de usuario debajo de él?
  • ¿Se puede ampliar el tamaño de la superposición con el mapa de google en android?
  • Barra de herramientas Android superpuesta TabLayout en CollapsingToolbarLayout
  • Entender boundCenterBottom ()
  • Android: trazado de dibujo como superposición en MapView
  • Cómo dibujar polígono mano libre en Google mapa V2 en Android?
  • Lista de clics dentro de OverlayItem (MapView para Android)
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.