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?

3 Solutions collect form web for “Hacer polígonos que se pueden hacer clic en Google Maps (para Android)”

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.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.