Core data MapView:UIViewRepresentable不以获取的列表为中心

Core data MapView:UIViewRepresentable不以获取的列表为中心,core-data,swiftui,mapkit,uiviewrepresentable,Core Data,Swiftui,Mapkit,Uiviewrepresentable,我尝试创建一个映射,其中填充了从核心数据获取的列表。抓取是完美的,但是地图没有以列表位置为中心。 例如,所有列表位于联合国美国,但我的地图显示罗马尼亚(我的位置) 我如何告诉地图显示获取的列表的区域 导入快捷界面 导入UIKit 导入地图套件 结构映射视图:UIViewRepresentable{ @StateObject变量jsonModel=JSONViewModel() @环境(\.managedObjectContext)变量上下文 @FetchRequest(实体:Listing.en

我尝试创建一个映射,其中填充了从核心数据获取的列表。抓取是完美的,但是地图没有以列表位置为中心。 例如,所有列表位于联合国美国,但我的地图显示罗马尼亚(我的位置)

我如何告诉地图显示获取的列表的区域

导入快捷界面
导入UIKit
导入地图套件
结构映射视图:UIViewRepresentable{
@StateObject变量jsonModel=JSONViewModel()
@环境(\.managedObjectContext)变量上下文
@FetchRequest(实体:Listing.entity(),SortDescriptor:[NSSortDescriptor(keyPath:\Listing.publishdate,升序:false)])
var结果:FetchedResults
func updateUIView(uiView:MKMapView,context:UIViewRepresentableContext){
@状态变量中心:CLLocationCoordinate2D?
@状态变量缩放:MKCoordinateSpan
//原创的
变量allAnnotations:[MapAnnotationPin]=[]
查询结果中的数据{
让title=data.listingtype
let subtitle:String=“\(data.saleprice<1?data.rentprice:data.saleprice)欧元”
让坐标=CLLocationCoordinate2D(纬度:data.latitude,经度:data.latitude)
附加(MapAnnotationPin(标题:标题,副标题:副标题,坐标:坐标))
}
uiView.annotations.forEach{uiView.removeAnnotation($0)}
uiView.addAnnotations(allAnnotations)
}
func makeUIView(上下文:UIViewRepresentableContext)->MKMapView{
返回MKMapView()
}
}
类MapAnnotationPin:NSObject,MKAnnotation{
标题:字符串?
让字幕:字符串?
let坐标:CLLocationCoordinate2D
初始化(标题:字符串?,副标题:字符串?,坐标:CLLocationCoordinate2D){
self.title=标题
self.subtitle=副标题
self.coordinate=坐标
}
}
谢谢你,格德

使其工作的最终代码:

let span=MKCoordinateSpan(latitudeDelta:2.0,Longtudedelta:2.0)
设myFavoriteRegion=MKCoordinateRegion(中心:坐标,跨度:跨度)

uiView.setRegion(myFavoriteRegion,动画:true)
在方法
updateUIView
call
uiView.setRegion(myFavoriteRegion,动画:true)
谢谢您的回答!此外,我想点击pin继续查看列表细节,或在地图顶部显示一个小视图。我怎样才能做到这一点?如果您不想显示太多,您需要的是标注