当我在Google Maps SDK for iOS中点击另一个标记时,是否可以拦截标记?

我知道我可以使用didTapAtCoordinate ,当我点击地图上的其他地方时,将会取消select标记。 但是,如果有多个标记,我点击另一个(例如MarkerA – > MarkerB),当前面的标记DidDeselect时是否有任何callback? 我在GMSMapView看了一下,却找不到任何可以使用的东西。

我想在select标记颜色或图像时更改标记颜色或图像,并在另一个标记select或标记取消select时将其更改。

谢谢。

selectedMarker的doco说:

所选的标记。 设置这个属性select一个特定的标记,显示一个信息窗口。 如果此属性非零,则将其设置为零,取消select标记,隐藏信息窗口。 这个属性是使用KVO观察的。

因此,您可以使用Key Value Observing来通知对selectedMarker的更改。 如果您在设置KVO时使用NSKeyValueObservingOptionOld (在此处详细描述),您将收到旧值的通知,即取消选中的标记。