当我显示地图并使用
Marker
或 Annotation
时,不会下载任何图块,我看到的只是网格线。除非我专门进入我正在使用的设备的 Apple Maps 地图,并查看这些区域。然后,当我进入示例应用程序时,地图数据就会显示。有没有办法“预获取”地图图块,以确保向用户显示地图,而无需用户先手动查看 Apple Mapps 应用程序中的特定位置?这是设计使然吗?还是还有其他事情发生?
import SwiftUI
import MapKit
struct NewYorkView: View {
var body: some View {
Map {
Marker("Empire state building", coordinate: .empireStateBuilding)
.tint(.orange)
Annotation("Columbia University", coordinate: .columbiaUniversity) {
ZStack {
RoundedRectangle(cornerRadius: 5)
.fill(Color.teal)
Text("🎓")
.padding(5)
}
}
}
}
}
#Preview {
NewYorkView()
}
extension CLLocationCoordinate2D {
static let weequahicPark = CLLocationCoordinate2D(latitude: 40.7063, longitude: -74.1973)
static let empireStateBuilding = CLLocationCoordinate2D(latitude: 40.7484, longitude: -73.9857)
static let columbiaUniversity = CLLocationCoordinate2D(latitude: 40.8075, longitude: -73.9626)
}
我发现我的每应用 VPN 连接不允许来自maps.apple.com 的流量。
通过将
maps.apple.com
添加到 MDM 上的 VPN 黑名单,它允许我分割地图数据的隧道。