¿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 ().

  • Teclado sobre EditText en segundo clic
  • Disposición de Android: coloca una vista entre dos vistas
  • Pantalla emergente / superpuesta en panal de android
  • Widget flotante / superposición en el lanzador de Android
  • Aplicación de Android: mostrar elementos de superposición en AsyncTask
  • Información sobre Android sobre superposiciones flotantes / elementos sobre otras aplicaciones
  • Alternativa de Android a MetroGridHelper
  • Uso de ItemizedOverlay y OverlayItem en Android Beta 0.9
  • ¿Por qué mi sistema se superpone capturando todos los toques (no es posible interacción con la vista subyacente)
  • Mostrar un bus móvil en google maps api v2 android
  • Color de relieve de superposición de círculo no dibujado siempre en Google Maps v2
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.