Решено Создать настраиваемую кнопку местоположения пользователя 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")
        }
    }
Другие вопросы по тегам