我正在嘗試在 SwiftUI 中實作 MapKit 和 CoreLocation 以在我的應用程式中獲取用戶位置、檢查權限、處理錯誤等。但是當我運行模擬器并授予位置權限時出現此錯誤。
不知道我做錯了什么。任何幫助表示贊賞
這是顯示錯誤訊息的螢屏截圖
這是我的代碼,我認為它缺少導致錯誤的內容:
import SwiftUI
import MapKit
import CoreLocation
// All Map data goes here
class MapViewModel: NSObject,ObservableObject, CLLocationManagerDelegate{
@Published var mapView = MKMapView()
// Region...
@Published var region : MKCoordinateRegion!
// Based on location it will set up...
// Alert...
@Published var permissionDenied = false
// Map Type...
@Published var mapType : MKMapType = .standard
func locationManagerDidChangeAuthorization(_ manager: CLLocationManager) {
// Checking permissions...
switch manager.authorizationStatus {
case .denied:
// Alert...
permissionDenied.toggle()
case .notDetermined:
// Requesting...
manager.requestWhenInUseAuthorization()
case .authorizedWhenInUse:
// If permission given...
manager.requestLocation()
default:
()
}
}
func locationManager(_manager: CLLocationManager, didFailWithError error: Error) {
// Error...
print(error.localizedDescription)
}
// Getting user Region...
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations:
[CLLocation]) {
guard let location = locations.last else {return}
self.region = MKCoordinateRegion(center: location.coordinate, latitudinalMeters: 10000, longitudinalMeters: 10000)
// Updating Map...
self.mapView.setRegion(self.region, animated: true)
// Smooth animation...
self.mapView.setVisibleMapRect(self.mapView.visibleMapRect, animated: true)
}
}
uj5u.com熱心網友回復:
func locationManager(_manager: CLLocationManager,
應該
func locationManager(_ manager: CLLocationManager,
uj5u.com熱心網友回復:
正如@Shadowrun 向您展示的那樣 (_manager: 是一個名為manager 的引數,但 ( manager: 意味著隱藏引數名稱。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/441309.html
下一篇:重構后閉包內的函式未使用
