Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Cambiar el icono del marcador durante el tiempo de ejecución

¿Hay alguna manera de cambiar el icono de Google Maps Android API v2 durante el tiempo de ejecución sin quitar / volver a agregar el marcador ¿Quiero cambiar su icono? ¿Puedo aplicarle transformaciones (como rotación)?

Gracias.

5 Solutions collect form web for “Cambiar el icono del marcador durante el tiempo de ejecución”

Actualmente no se puede cambiar el marcador en tiempo de ejecución, ni aplicar rotación a él.

Sin embargo, puede utilizar una solución: estoy trabajando en una clase BlinkingMarker en la que tengo que ajustar la opacidad de la imagen del marcador en tiempo de ejecución.

La única solución ahora es crear Bitmaps con rotación diferente y luego agregar / quitar periódicamente. El problema con esta solución es que agregar / quitar marcadores toma una gran cantidad de asignación de memoria por lo que los resultados en la recolección de basura constante. Una solución mejor y más suave es crear todas sus imágenes de antemano y agregar todas ellas al mapa a la vez. Después de eso, puede usar la función Marker.setVisible(boolean) para mostrar la que necesita actualmente.

Precaución: mida sus mapas de bits antes de hacer esto, porque agregar muchos mapas de bits grandes puede hacer que el tamaño de la memoria de la aplicación crezca muy grande.

Puedes consultar mi solución aquí: https://github.com/balazsbalazs/blinking-marker-mapsv2

Este es el marcador que está parpadeando (cambia la opacidad del mapa de bits), pero en las mismas líneas se puede aplicar cualquier tipo de transformación.

Puedo cambiar los iconos de marcadores en tiempo de ejecución fácilmente después de actualizar a Google Play Services Rev 7 , ahora

Marker.setIcon (icono BitmapDescriptor)

Es availble, previamente quité y agrego el marcador para cambiar el color de él.

Los documentos son muy claros sobre este tema –

 Icon A bitmap that's displayed in place of the default marker image. You can't change the icon once you've created the marker. 

Si desea cambiar la apariencia del marcador, tiene algunas opciones. Una es, como usted nota, para eliminar el marcador y agregar otro. La otra es colocar marcadores múltiples en la misma ubicación y alternar cuál es visible en un momento dado.

¿Puedo aplicarle transformaciones (como rotación)?

Puede aplicar cualquier transformación que quiera a la imagen antes de usarla para crear el marcador.

En la versión de Google Maps Android API v2 de septiembre de 2013 , ahora hay un nuevo método setRotation() para los marcadores, junto con un nuevo método setFlat() .

Aquí está la descripción de Google de las nuevas características:

Dé a sus marcadores un sentido de la dirección

Hemos añadido una propiedad de rotación de marcador, para permitir que gire un marcador alrededor de su punto de anclaje. La nueva propiedad plana le permite situar el marcador en la superficie del mapa, en lugar de saltar hacia la cámara. Estas dos nuevas propiedades son especialmente útiles para indicar las direcciones de la brújula cuando el mapa es girado o inclinado.

Aquí hay un artículo describiendo las nuevas características.

Para cambiar el icono del marcador seleccionado en el tiempo de ejecución, simplemente añada

  @Override public boolean onMarkerClick(Marker marker) { Marker.setIcon (BitmapDescriptor icon); } 
FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.