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 have set it using marker.setIcon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_BLUE))
. When I click on the same marker or any other marker I want remove the selection made in the first marker and set it back to the default color.
map.setOnMarkerClickListener(new OnMarkerClickListener() {
@Override
public boolean onMarkerClick(Marker marker) {
aa= marker.getPosition().latitude;
bb=marker.getPosition().longitude;
marker.setIcon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_BLUE));
}
According to the code above when i click on other markers the selection made in the first marker is still there, and it stays colored HUE_BLUE
. How can I remove the modified color and transfer the selection to currently clicked marker?
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 clickedMarker
, and each time a newMarker
is clicked, set the previous one back to the default color.You can also check
!marker.equals(prevMarker)
before setting theMarker
toHUE_BLUE
, this will allow a subsequent click on theMarker
to set the color back to the default color.Instance variable:
Click Listener: