I have a list of places which are marked in google maps using Markers
. I want to select a Marker
so that it will highlight with a different color.
I just tested this and it works, just add a Marker
reference as an instance variable in order to keep a reference of the last clicked Marker
, and each time a new Marker
is clicked, set the previous one back to the default color.
You can also check !marker.equals(prevMarker)
before setting the Marker
to HUE_BLUE
, this will allow a subsequent click on the Marker
to set the color back to the default color.
Instance variable:
Marker prevMarker;
Click Listener:
mGoogleMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
@Override
public boolean onMarkerClick(Marker marker) {
aa= marker.getPosition().latitude;
bb=marker.getPosition().longitude;
if (prevMarker != null) {
//Set prevMarker back to default color
prevMarker.setIcon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_RED));
}
//leave Marker default color if re-click current Marker
if (!marker.equals(prevMarker)) {
marker.setIcon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_BLUE));
prevMarker = marker;
}
prevMarker = marker;
return false;
}
});