I am wondering if there is a way to change the color or image of the selected marker and then change it back when it is not selected anymore. I see that Yelp, which uses Apple Maps, changes the color/image of the selected marker and then back to the original once that one is no longer selected and was wondering if the Google Map iOS SDK had something similar or if someone has come across this problem and found a solution.
What I have tried:
I have looked through Google's Documentation on Markers (found here) and see that they have marker.opacity
which changes the opacity and marker.icon = [GMSMarker markerImageWithColor:[UIColor blackColor]];
which changes the marker's color.
I have tried to manually change it in -(UIView *)mapView:(GMSMapView *)mapView markerInfoWindow:(GMSMarker *)marker;
by adding this line marker.icon = [GMSMarker markerImageWithColor: [UIColor differentColor]];
or this line marker.icon = [UIImage imageNamed:@"differentColorImage"];
but when you tap out of the marker/info-window, the image/color remains the same.
Anyone have any thoughts? Anything helps. Thanks in advance!
To change icon of marker that selected and for not selected what i did was, First I add all the GMSMarker in an array.After that inside delegate function didTapMarker: I got selected marker and change the icon of that marker
- (BOOL)mapView:(GMSMapView *)mapView didTapMarker:(GMSMarker *)marker
{
marker.icon=[UIImage imageNamed:@"selectedicon.png"];//selected marker
for (int i=0; i<[markerArray count]; i++)
{
GMSMarker *unselectedMarker=markerArray[i];
//check selected marker and unselected marker position
if(unselectedMarker.position.latitude!=marker.position.latitude && unselectedMarker.position.longitude!=marker.position.longitude)
{
unselectedMarker.icon=[UIImage imageNamed:@"unselectedicon.png"];
}
}
return NO;
}
This is working for me.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With