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 .

  • Android: Google map api versión 2
  • Uso de la API Google Maps de Google android v2 como visor de mosaicos sin conexión: ¿es posible?
  • Google Maps Android API v2 en China - la carga del mapa tomó alrededor de una hora
  • Mueva la posición de la cámara para ajustar LatLngBounds con respecto a la altura del marcador
  • Marcadores de mapa con texto en Google Maps Android API v2
  • Google google maps agrega al marcador propia etiqueta
  • Error "IBitmapDescriptorFactory no se inicializa"
  • Utilice ActionBarSherlock con el mapa de Google API V2
  • Cómo detectar evento de desplazamiento de usuario en Google Maps V2 para Android
  • ArrayIndexOutOfBounds en el dibujo de la polilínea de Android
  • Android Maps API requiere openGL es 2
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.