iOS 17 MapKit .standard 不允许缩小时显示地球视图

问题描述 投票:0回答:1

我正在努力在 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 中是不可行的,我也不能似乎明白为什么?这很令人费解,因为卫星视图效果很好。

ios swift swiftui mapkit
1个回答
0
投票

发现了同样的问题,并疯狂地寻找答案。看起来这对苹果来说要么是有意的,要么是无关紧要的,这毫无意义,但除了苹果开发者论坛上的这两个有官方回应的帖子之外,找不到很多关于它的帖子:

https://developer.apple.com/forums/thread/101479

https://developer.apple.com/forums/thread/760542

第一个是 2018 年的,确认它不可用,没有任何解释。 第二个是从今年(2024 年)开始,Apple 工程师要求发布者创建一份错误报告,解释为什么这会很有用。

到目前为止,还不清楚他们是否会修复或解决这个问题。

© www.soinside.com 2019 - 2024. All rights reserved.