【发布时间】:2026-02-22 18:20:05
【问题描述】:
我试过这段代码,在这里我将 MKCoordinateSpan 增加到 200 - 200,但是我的应用程序崩溃了,有人可以帮助我。
func setupMap(hotelListData:[HotelListData], cityLocation:
CLLocationCoordinate2D )
{
let coordinateRegion = MKCoordinateRegion(center: cityLocation, span: MKCoordinateSpan(latitudeDelta: 200, longitudeDelta: 200))
mapView.setRegion(coordinateRegion, animated: true)
//Set Multiple Annotation
for data in hotelListData {
let annotation = MKPointAnnotation()
annotation.title = data.hotel?.name
annotation.coordinate = CLLocationCoordinate2D(latitude: Double(data.hotel?.latitude ?? 0.0), longitude: Double(data.hotel?.longitude ?? 0.0))
mapView.addAnnotation(annotation)
}
}
更新:
我将跨度从(latitudinalMeters 和纵向Meters)更改并得到了预期的结果:-
现在可以在这里找到:
i)为苹果地图设置多个注释。
ii) 使用所需位置调整缩放。
func setupMap(hotelListData:[HotelListData], cityLocation:
CLLocationCoordinate2D ){
let coordinateRegion = MKCoordinateRegion(center: cityLocation, latitudinalMeters: CLLocationDistance(exactly: 15000)!, longitudinalMeters: CLLocationDistance(exactly: 15000)!)
mapView.setRegion(coordinateRegion, animated: true)
//Set Multiple Annotation
for data in hotelListData {
let annotation = MKPointAnnotation()
annotation.title = data.hotel?.name
annotation.coordinate = CLLocationCoordinate2D(latitude: Double(data.hotel?.latitude ?? 0.0), longitude: Double(data.hotel?.longitude ?? 0.0))
mapView.addAnnotation(annotation)
}
}
【问题讨论】:
-
嗯...地球上只有180度的纬度。你在200度的纬度范围内做什么?你想放大,不是吗?
-
@Sweeper 是的,我想放大,我想增加或减少它会影响缩放,你能帮我吗,我到底需要做什么才能缩放。
-
是的,改变它会影响缩放。但是你需要把它改成一个合理的数字。你想放大多远?地图应该跨越多少纬度和经度?
-
我需要将它放大到可以看到城市中特定区域的位置,以便用户能够清楚地看到所有注释。我需要传递什么数字才能得到结果?
-
@ElTomato,我尝试将每个设置为 100.0,但现在没有得到想要的结果(确切地说:5000)!) 希望它会起作用。
标签: ios swift iphone xcode mapkit