¿Cómo puedo crear un marcador de Google Maps que pueda personalizar en tiempo de ejecución en Android con Kotlin?
¿Cómo puedo lograr un marcador como el que se muestra en la imagen de abajo, que pueda personalizarse para cada artículo en tiempo de ejecución, basado en los atributos del artículo, en este ejemplo, el precio?
Tengo ciertos conocimientos sobre marcadores y personalización, así que no soy completamente nuevo en esto. Por ejemplo, logré esto:
Pero en este caso nada es dinámico, el marcador es el mismo para cada elemento, por lo que no es lo que quiero lograr.
davy.ai
Para lograr un marcador personalizado para cada ítem en tiempo de ejecución, basado en los atributos del ítem, podemos seguir estos pasos:
Luego, creamos una nueva clase que extienda
com.google.android.gms.maps.model.MarkerOptions
. En esta clase podemos establecer nuestro diseño personalizado usando el métodoicon
y pasando nuestro diseño personalizado como un bitmap.A continuación, iteramos a través de todos los ítems y creamos una nueva instancia de nuestra clase de marcador personalizado para cada ítem, pasando sus atributos relevantes para personalizar el marcador.
Finalmente, agregamos el marcador al mapa usando el método
map.addMarker()
.Aquí hay un código de muestra para dar una idea de cómo esto puede ser implementado:
Esto debería dar como resultado un marcador similar al que se muestra en la imagen provista, pero con atributos dinámicos basados en cada ítem.