Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

170
Vistas
Cómo tomar la etiqueta del marcador cuando se usa el algoritmo de clúster en Android
 Marker marker = mMap.addMarker(markerOptions); marker.setTag(poi.getKey()); marker.hideInfoWindow(); builder.include(marker.getPosition());

Este código funciona correctamente porque puse como manuel. Hice todo marker.tag() . Usé la clave hash para recuperar cuál es mi pin.

mClusterManager.addItem() Quiero usar este método. Pero también quiero tomar la etiqueta del marcador. Así que no quiero agregar al mapa como Marker marker = mMap.addMarker(markerOptions);

¿Como puedó resolver esté problema?

Quiero explicar más detalladamente.

 public class PoiItem implements ClusterItem{ private final LatLng mPosition; private String mTitle; private String mSnippet; private String tag; private ResponsePoi pois; public PoiItem(ResponsePoi poi,double lat, double lng,String tag) { mPosition = new LatLng(lat, lng); pois = poi; mTitle = poi.getName(); mSnippet = poi.getAddress(); this.tag = tag; } private void setMyCluster(){ mClusterManager = new ClusterManager<PoiItem> (MainActivity.this,mMap); mMap.setOnCameraIdleListener(mClusterManager); mMap.setOnMarkerClickListener(mClusterManager); } setMyCluster(); for(HashMap.Entry<String, ResponsePoi> poi : pois.entrySet()) { MarkerOptions markerOptions = new MarkerOptions() .snippet(poi.getValue().getAddress()) .title(poi.getValue().getName()) .position(new LatLng(poi.getValue().getLocation().getL().get(0),poi.getValue().getLocation().getL().get(1))) .icon(BitmapDescriptorFactory.fromBitmap(smallMarker)); /* Marker marker = mMap.addMarker(markerOptions); marker.setTag(poi.getKey()); marker.hideInfoWindow(); builder.include(marker.getPosition()); */ mClusterManager.addItem(new PoiItem(poi.getValue(),poi.getValue().getLocation().getL().get(0),poi.getValue().getLocation().getL().get(1),poi.getKey())); }
about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Simplemente puede agregar un campo de etiqueta de marcador a su clase personalizada MyItem .

Por ejemplo:

 public class MyItem implements ClusterItem { private final LatLng mPosition; private final String mTitle; private final String mSnippet; private final String mTag; // <- This is the tag public MyItem(double lat, double lng, String t, String s, String tg) { mPosition = new LatLng(lat, lng); mTitle = t; mSnippet = s; mTag = tg; } @Override public LatLng getPosition() { return mPosition; } public String getTitle(){ return mTitle; } public String getSnippet(){ return mSnippet; } public String getTag(){ return mTag; } }

Luego asigne la etiqueta al constructor MyItem cuando use el método addItem() :

 MyItem item = new MyItem(lat, lng, "title", "snippet", poi.getKey()); mClusterManager.addItem(item);

Asegúrese de que el administrador del clúster maneje los eventos de clic para los elementos del clúster:

 mClusterManager.setOnClusterItemClickListener(mClusterItemClickListener); mMap.setOnMarkerClickListener(mClusterManager);

Luego defina su ClusterManager.OnClusterItemClickListener , donde puede acceder a la etiqueta cuando se hace clic en el elemento del clúster (Marcador):

 public ClusterManager.OnClusterItemClickListener<MyItem> mClusterItemClickListener = new ClusterManager.OnClusterItemClickListener<MyItem>() { @Override public boolean onClusterItemClick(MyItem item) { if (item.getTag().equals("SomeValue")) { //Do something! } return true; } };
about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda