我正在努力在 iOS 17 上使用 MapKit 为我的 iPhone 设置一个非常基本的地图视图。我注意到 Apple 地图应用程序没有这个问题,但除了以下主题中的一个线程之外,我真的找不到太多关于这个主题的信息: 2023 年 8 月,一张海报称存在一个错误,不允许 .standard 地图样式在缩小时显示为地球仪。
import SwiftUI
import MapKit
struct MapViewRepresentable: UIViewRepresentable {
func makeUIView(context: Context) -> MKMapView {
let mapView = MKMapView(frame: .zero)
// Set map type to hybrid flyover for a more globe-like appearance
mapView.mapType = .hybridFlyover
// Configure camera for a globe-like view
let camera = MKMapCamera()
camera.centerCoordinate = CLLocationCoordinate2D(latitude: 0, longitude: 0)
camera.altitude = 20000000 // Adjust altitude for desired zoom level
camera.pitch = 60 // Adjust pitch for a more globe-like view
camera.heading = 0
mapView.setCamera(camera, animated: false)
return mapView
}
func updateUIView(_ uiView: MKMapView, context: Context) {
// Update the view if needed
}
}
struct ContentView: View {
var body: some View {
MapViewRepresentable()
.edgesIgnoringSafeArea(.all)
}
}
#Preview {
ContentView()
}
无论如何,这是我的代码,我确实尝试了各种方法来让 .standard 地图样式显示为地球仪,但据我所知,这在 iOS 17 中是不可行的,我也不能似乎明白为什么?这很令人费解,因为卫星视图效果很好。
发现了同样的问题,并疯狂地寻找答案。看起来这对苹果来说要么是有意的,要么是无关紧要的,这毫无意义,但除了苹果开发者论坛上的这两个有官方回应的帖子之外,找不到很多关于它的帖子:
https://developer.apple.com/forums/thread/101479
https://developer.apple.com/forums/thread/760542
第一个是 2018 年的,确认它不可用,没有任何解释。 第二个是从今年(2024 年)开始,Apple 工程师要求发布者创建一份错误报告,解释为什么这会很有用。
到目前为止,还不清楚他们是否会修复或解决这个问题。