Hacer polígonos que se pueden hacer clic en Google Maps (para Android)

Tengo LatLngs continua de varias áreas en una ciudad. ¿Hay alguna manera que puedo crear polígonos clickable con él. Una vez el camino a seguir sería para

  • Generar polígonos con los LatLngs disponibles (Quiero mostrar visualmente los polígonos en el mapa con codificación de color)
  • Configurar setOnMapClickListener .
  • Hacer un punto dentro de la prueba de polígono.

Entiendo que esto es muy ingenuo. ¿Cuáles son los enfoques alternativos?

Aquí es cómo lo hice.

  Polygon polygon = getMap().addPolygon(new PolygonOptions() .add(new LatLng(12.780712, 77.770956), new LatLng(12.912006, 77.229738), new LatLng(12.412006, 77.629738), new LatLng(12.912006, 77.229738)) .strokeColor(0xFF00AA00) .fillColor(0x2200FFFF) .strokeWidth(2) ); polygon.setClickable(true); getMap().setOnPolygonClickListener(new GoogleMap.OnPolygonClickListener() { public void onPolygonClick(Polygon polygon) { mClusterManager = new ClusterManager<MyItem>(getApplicationContext(), getMap()); getMap().setOnCameraChangeListener(mClusterManager); getMap().moveCamera(CameraUpdateFactory.newLatLngZoom(getMap().getCameraPosition().target, getMap().getCameraPosition().zoom)); try { readItems(); } catch (JSONException e) { Toast.makeText(getApplicationContext(), "Problem reading list of markers.", Toast.LENGTH_LONG).show(); } } }); 

Espero que ayude.

Usted no necesita volverse loco por tener polígono que se puede hacer clic. Lo hice hace tiempo pero ahora, hay un api para eso:

GoogleMap.setOnPolygonClickListener (OnPolygonClickListener)

Puede utilizarlo fácilmente:

 GoogleMap mymap =....//init your map mymap.setOnPolygonClickListener(new OnPolygonClickListener(){ void onPolygonClick(Polygon polygon){ //do whatever with polygon! } }); 

Al agregar Polígono al mapa. Primero crea un objeto PolygonOptions y agrega algunos puntos a él. Estos puntos formarán el contorno del polígono. A continuación, agregue el polígono al mapa llamando a GoogleMap.addPolygon (PolygonOptions) que devolverá un objeto Polygon. Este fragmento de código siguiente muestra cómo agregar polígono a un mapa.

 // Instantiates a new Polygon object and adds points to define a rectangle PolygonOptions rectOptions = new PolygonOptions() .add(new LatLng(37.35, -122.0), new LatLng(37.45, -122.0), new LatLng(37.45, -122.2), new LatLng(37.35, -122.2), new LatLng(37.35, -122.0)); // Get back the mutable Polygon Polygon polygon = myMap.addPolygon(rectOptions); 

De forma predeterminada, los polígonos no se pueden hacer clic. Puede habilitar y deshabilitar la posibilidad de Polygon.setClickable(boolean) llamando a Polygon.setClickable(boolean) .

Como dijo N Dorigatti . Al usar OnPolygonClickListener para escuchar eventos de clics, llame a GoogleMap.setOnPolygonClickListener(OnPolygonClickListener) .

Cuando un usuario hace clic en un polígono, recibirá una devolución de llamada onPolygonClick (polígono). Consulte este documento para obtener más información.

  • ¿Cómo puedo obtener las coordenadas de un mapa al toque con MapFragment (no MapView)?
  • Google Maps V2 - Error al inflar la clase Fragmento
  • Eliminar marcador anterior y agregar nuevo marcador en Google Map v2
  • ¿Cómo actualizar TileOverlay sin parpadeo?
  • Cómo deshabilitar la función de rotación de mapas en el fragmento de mapa de Android
  • ¿Por qué GoogleMap.animateCamera () se bloquea después de onGlobalLayout ()?
  • No existe el paquete de errores `com.google.android.gms ...`
  • 75 marcadores en el mapa -> pérdidas de memoria -> OutOfMemoryException
  • Código para agregar marcadores al mapa usando android google maps v2
  • Android Geocoder getFromLocationName devuelve siempre null
  • Android Google Map V2 Pantalla ¿Mostrar y mostrar sólo el botón de zoom?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.