Puedo usar los Mapas de Google componente MapView en una aplicación Android. Puedo usar el GPS de ubicación 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 la conducción (rodamiento). Creo que puedo usar el bearing valor para obtener el ángulo de la flecha.

¿Cómo puedo hacer eso?

OriginalEl autor Jonas | 2010-12-02

1 Comentario

  1. 19

    Suponiendo que tienes la Ubicación, a continuación, obtener el rodamiento haciendo:

    float myBearing = location.getBearing();

    Para aplicar la superposición de utilizar ItemizedOverlay y OverlayItem. Usted necesitará subclase OverlayItem para agregar la funcionalidad para rotar la Imagen. Algo así 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); 
    }

    A continuación, todo lo que queda por hacer es aplicar esta nueva Imagen para la OverlayItem. Esto se hace usando el setMarker() método.

    No se debería extender Superposición en su lugar, como MyLocationOverlay hace?
    Esto funciona muy bien para mí, pero he tenido que cambiar la lona.getWidth(), lienzo.getHeight() a la lona.getWidth() / 2, de lona.getHeight() / 2 para girar alrededor del centro de la imagen (o se mueve fuera de la existencia)
    actualizado respuesta, gracias
    Sólo para tu INFORMACIÓN – esta solución para la rotación de un mapa de bits se resuelve reduciendo las cuestiones debido a los límites y a la rotación. (La búsqueda para «android girar reducir»)
    También he encontrado que este se encoge de mi imagen, alguien tiene una solución?

    OriginalEl autor pheelicks

Dejar respuesta

Please enter your comment!
Please enter your name here