我很好奇当你需要在 SwiftUI 中的 Map 上有一堆自定义注释时,最佳实践是什么。这是我的第一个真正的 IOS 项目,所以我的边缘有点粗糙。目前,我有 2400 个注释,它们是带有自定义图像的按钮,最终,当用户单击它们时,它们会弹出有关艺术品的信息。
到目前为止,我所做的是将每个引脚的所有数据放入 CoreData 中,并与其所代表的实体建立正确的关系,以及直接从 MapAnnotation 内容在我的资产文件夹中调用的图像字符串。
我在自己的 iPhone 8 上运行过。FPS 明显下降。不知道是不是因为注释量很大,但是那是不会往下掉的。这是我的 MapView() 的示例
仅供参考,我在 onAppear() 上获取引脚,按钮上也将有一个过滤器。代码还远远没有完成,只是试图在走得太远而无法返回之前解决一个问题。
感谢您的任何意见。祝你有美好的一天
导入 SwiftUI 导入 MapKit 导入 CoreData
结构MapView:视图{
@Environment(\.managedObjectContext) private var moc
@State var pins: [Pin] = []
@State var userTrackingMode: MapUserTrackingMode = .follow
// Location for Montreal downtown
@State var region = MKCoordinateRegion(
center: CLLocationCoordinate2D(latitude: 45.50240, longitude: -73.57067),
span: MKCoordinateSpan(latitudeDelta: 0.01, longitudeDelta: 0.01))
var body: some View {
ZStack{
Map(coordinateRegion: $region,
interactionModes: MapInteractionModes.all,
showsUserLocation: true, …Run Code Online (Sandbox Code Playgroud)