Поэтому я хотел бы скрыть и показать кнопку на моей карте, которая увеличивает текущее местоположение пользователя.
В основном, когда карта больше не сосредоточена на местоположении пользователя, кнопка появляется и исчезает, когда она только что была нажата.
Кнопка анимируется при нажатии, но не анимируется при вызове метода
Я вызываю метод делегата API карты Google, который вызывается каждый раз, когда карта перемещается.
Вот мой код:
func showUserLocation() {
mapView.isMyLocationEnabled = true
self.locationManager.startUpdatingLocation()
let userLocation = mapView.myLocation
if let loc = userLocation
{
centreMapOnLocation(location: loc)
if myLocationButton.alpha == 1 {
UIView.animate(withDuration: 0.4, animations: {
self.myLocationButton.alpha = 0
})
}
}
}
func mapView(_ mapView: GMSMapView, willMove gesture: Bool) {
if myLocationButton.alpha == 0 {
UIView.animate(withDuration: 0.4, animations: {
self.myLocationButton.alpha = 1
})
}
}
Когда вызывается метод willMove
, он просто появляется, но без анимации.
didChange
для положения камеры. Я пытался использовать этот метод, но он вызывается после того, как скрывается, что означает, что он появляется снова. - person Niall Kiddle   schedule 01.03.2018