Cómo cambiar el color de un área en particular en Google map api v2 en android

Estoy trabajando en una aplicación de Android que utiliza la API de Google Maps v2 y me gustaría marcar un área específica en el mapa con un cierto color en un evento de clic. Por ejemplo, cuando hago clic en India, el área que cubre el país debe ser de color verde.

Ya estoy usando GroundOverlay , pero requiere una imagen para mostrar algo en el mapa, resultando en que el área de color no sea una buena coincidencia. Dado que tanto el mapa como la imagen tienen su propia forma, esto no cubre el área exacta.

Quiero como este

¿Puede alguien por favor decirme cómo colorear un Google Maps API v2 de Google Maps con mayor precisión?

2 Solutions collect form web for “Cómo cambiar el color de un área en particular en Google map api v2 en android”

Al igual que MaciejGórski dijo que usted tiene que usar polígono con el evento Onclick de su mapa. Así que pasé un tiempo para usted y se vino con una solución. Ahora sólo estoy dibujando el polígono después de 3 puntos añadidos se puede modificar esto para satisfacer sus needs.and también Cambiar el color (Use RGBA color para resaltar el área dentro del polygone).

 package com.mzubair.mapkey; import android.graphics.Color; import android.os.Bundle; import android.support.v4.app.FragmentActivity; import android.view.Menu; import android.widget.TextView; import com.google.android.gms.maps.GoogleMap; import com.google.android.gms.maps.GoogleMap.OnMapClickListener; import com.google.android.gms.maps.GoogleMap.OnMapLongClickListener; import com.google.android.gms.maps.SupportMapFragment; import com.google.android.gms.maps.model.LatLng; import com.google.android.gms.maps.model.Polygon; import com.google.android.gms.maps.model.PolygonOptions; public class MainActivity extends FragmentActivity implements OnMapClickListener, OnMapLongClickListener { private GoogleMap googleMap; private TextView tapTextView; private PolygonOptions polygonOptions; private Polygon polygon; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tapTextView = (TextView) findViewById(R.id.textView1); polygonOptions = new PolygonOptions(); // Getting reference to the SupportMapFragment of activity_main.xml SupportMapFragment fm = (SupportMapFragment)getSupportFragmentManager().findFragmentById(R.id.map); // Getting GoogleMap object from the fragment googleMap = fm.getMap(); setUpMap(); } private void setUpMap() //If the setUpMapIfNeeded(); is needed then... { googleMap.setOnMapClickListener((OnMapClickListener) this); googleMap.setOnMapLongClickListener((OnMapLongClickListener) this); } @Override public void onMapClick(LatLng point) { tapTextView.setText("tapped, point=" + point); polygonOptions.add(point); countPolygonPoints(); } @Override public void onMapLongClick(LatLng point) { tapTextView.setText("long pressed, point=" + point); } public void countPolygonPoints(){ if(polygonOptions.getPoints().size()>3){ polygonOptions.strokeColor(Color.RED); polygonOptions.strokeWidth((float) 0.30); polygonOptions.fillColor(Color.BLUE); polygon = googleMap.addPolygon(polygonOptions); } } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } 

}

Aquí está el resultado después de usar este código.

Lea el post detallado y descargue la aplicación de demostración aquí

Introduzca aquí la descripción de la imagen

Es necesario reunir todos los puntos que crean esta forma como una List de LatLngs y utilizar Polygon .

  • Diferentes resultados entre Android Geocoder y el servicio web de Google Geocoding
  • ¿Cómo puedo ampliar automáticamente la ubicación actual en el mapa de Google api para Android?
  • Cómo realizar la operación de clic en la ventana de información personalizada de marcador en google map V2 en android
  • Google Maps Android V2 y API de dirección
  • Google Maps v2 Marker zOrdering - Establecer en la parte superior
  • Android Maps - el método animateCamera () no funciona correctamente
  • ¿Hay alguna manera de hacer pruebas funcionales con googleMaps (android)?
  • Eliminar el icono de ubicación predeterminado del usuario
  • Almacenamiento en caché de Google Maps para uso sin conexión (api v2)
  • Recibiendo la pantalla ambigua del cielo mientras que carga el mapa de google
  • Android Google Maps Api V2, obteniendo las coordenadas del mapa actual
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.