Можно ли отменить выбор маркера перехвата при нажатии другого маркера в Google Maps SDK для iOS?


Я знаю, что могу использовать didTapAtCoordinate, который отменит выбор маркера, когда я нажму на другое место на карте. Но если есть несколько маркеров, и я нажимаю на другой (напр. MarkerA - > MarkerB), есть ли обратный вызов, когда предыдущий маркер DidDeselect?. Я смотрю вокруг в GMSMapView, но не могу найти ничего, что я мог бы использовать.

Я хочу изменить цвет маркера или изображение, когда он выбирается, и изменить его обратно, когда другой маркер выбирает или маркер отменяет выбор.

Спасибо.

1 2

1 ответ:

The doco for selectedMarker говорит:

Выбранный маркер. Установка этого свойства выделяет конкретный маркер, показывающий информационное окно на нем. Если это свойство является не-ноль, установка его в ноль отменяет выбор маркера, скрывая информацию окно. это свойство можно наблюдать с помощью кво.

Таким образом, Вы можете использовать наблюдение за значением ключа для уведомления об изменениях в selectedMarker. Если вы используете NSKeyValueObservingOptionOld при настройке кво (описано более подробно здесь ), вы будете уведомлены о старом значении, то есть маркере, который был снят.