Решено Создать настраиваемую кнопку местоположения пользователя Apple Maps
Я работал над этим, я не нашел никакой документации и подумал, что создам ее. После того, как я решил это, я подумал, что это было проще, чем я думал.
В любом случае, я хотел создать 3 состояния кнопок, которые я видел на картах Apple. Я пробовал несколько вещей setRegion. После некоторой работы понял, как яблоко предназначено для его использования. Я подумал, что запишу это здесь.
1 ответ
func locationButtonWasPressed() {
switch self.coreMapView.userTrackingMode {
case .none:
self.coreMapView.userTrackingMode = .follow
case .follow:
self.coreMapView.userTrackingMode = .followWithHeading
case .followWithHeading:
self.coreMapView.userTrackingMode = .none
@unknown default:
print("userTrackingMode undefined")
}
}
func mapView(_ mapView: MKMapView, didChange mode: MKUserTrackingMode, animated: Bool) {
switch mode {
case .none:
let tintedImage = #imageLiteral(resourceName: "nearby").withRenderingMode(.alwaysTemplate)
locationButton.image = tintedImage
case .follow:
let tintedImage = #imageLiteral(resourceName: "nearby-selected").withRenderingMode(.alwaysTemplate)
locationButton.image = tintedImage
case .followWithHeading:
let tintedImage = #imageLiteral(resourceName: "scout").withRenderingMode(.alwaysTemplate)
locationButton.image = tintedImage
@unknown default:
print("userTrackingMode undefined")
}
}