【发布时间】:2022-11-21 04:50:23
【问题描述】:
我有以下代码,我刚刚添加了跟踪模式。
struct LocationInfoView: View {
@State var location: CLLocationCoordinate2D
@State private var mapRegion: MKCoordinateRegion
@State private var trackingMode = MapUserTrackingMode.follow
let markers: [Marker]
init(location: CLLocationCoordinate2D) {
self.location = location
mapRegion = MKCoordinateRegion(center: location, span: MKCoordinateSpan(latitudeDelta: 0.00625, longitudeDelta: 0.00625))
markers = [Marker(location: MapPin(coordinate: location))]
}
var body: some View {
Map(
coordinateRegion: $mapRegion,
showsUserLocation: true,
userTrackingMode: $trackingMode,
annotationItems: markers) { marker in
marker.location
}
.edgesIgnoringSafeArea(.bottom)
}
}
struct Marker: Identifiable {
let id = UUID()
var location: MapPin
}
当我添加 MapUserTrackingMode 时,我得到 Variable 'self.location' used before being initialized 和 Variable 'self.mapRegion' used before being initialized 错误。我不明白为什么添加跟踪模式会导致初始化出现问题。
【问题讨论】: