ios - Swift/iOS 项目地图无法正确显示位置
问题描述
大家好,我在测试 Swift App 中的地图实现遇到问题。所以我添加了地图视图,就像在下面的代码中一样,然后作为预览数据,我传递了一个随机城市的坐标。然后我运行实时预览,并且(非常失望)看到蓝色矩形而不是地图。我搞砸了什么?
import MapKit
struct MapSection: View {
private var log: Log?
@State var region: MKCoordinateRegion = MKCoordinateRegion()
private var locationCoordinate: CLLocationCoordinate2D?
init(_ log: Log) {
self.log = log
if let coordinate = log.location?.coordinate {
let locationCoordinate = CLLocationCoordinate2D(latitude: coordinate.latitude, longitude: coordinate.longitude)
self.locationCoordinate = locationCoordinate
self.region = MKCoordinateRegion(center: locationCoordinate, span: MKCoordinateSpan(latitudeDelta: 0.075, longitudeDelta: 0.075))
} else {
self.log = nil
self.locationCoordinate = nil
}
}
var body: some View {
Section(header: Text("Position on map")) {
if log != nil && locationCoordinate != nil {
Map(coordinateRegion: $region, annotationItems: [self.log!]) {
_ in MapPin(coordinate: locationCoordinate!)
}
.frame(minHeight: 500)
}
else {
HStack {
Spacer()
Text("Map Error: Position Unknown")
Spacer()
}
}
}
}
}
struct LogDetail_Previews: PreviewProvider {
static var previews: some View {
let context = PersistenceController.preview.container.viewContext
let log = Log(context: context)
log.country = Locale.current.regionCode
log.date = Date(timeIntervalSince1970: TimeInterval(100000))
log.location = CLLocation(latitude: CLLocationDegrees(52.229676), longitude: CLLocationDegrees(21.012229))
return LogDetail(log)
}
}
解决方案
推荐阅读
- python - 将 response.text 转换为 python 中的字典
- spring - restTemplate.exchange 不会解组完整的对象,而只是顶级 - 替代 restTemplate?
- python - 有没有可能在 django 中提供备用数据库服务器?
- c - 在用户输入任意数量的值后计算正数、负数、偶数、奇数
- php - PHP curl:(60)SSL证书问题:自签名证书
- mongodb - MongoDB根据字段类型聚合后过滤文档
- r - R:geom_smooth 下降到某个值以下的点
- java - AuthenticationPrincipal 返回空的 UserDetails 对象
- machine-learning - 损失函数如何知道在 PyTorch 中为哪个模型计算梯度?
- html - 在台式机的新选项卡中打开链接,但在移动设备上的同一选项卡中打开