在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ SwiftUI没有提供地图视图,所以需要借助于MapKit里的地图视图。 1 import SwiftUI 2 //首先倒入需要使用到的地图框架 3 import MapKit 4 5 //使当前的结构体遵循UIViewRepresentable(视图替代)协议, 6 //使用该协议的实例,可以在SwiftUI中创建和管理UIView对象。 7 struct ContentView : UIViewRepresentable 8 { 9 //实现协议里的创建视图makeUIView方法,用来初始化并返回一个MKMapView地图视图对象。 10 func makeUIView(context: UIViewRepresentableContext<ContentView>) -> MKMapView 11 { 12 return MKMapView() 13 } 14 15 //实现协议里的更新视图updateUIView方法,用来设置网页视图需要加载的网址参数。 16 func updateUIView(_ uiView: MKMapView, context: UIViewRepresentableContext<ContentView>) 17 { 18 //设置地图视图显示用户所在的地理位置 19 uiView.showsUserLocation = true 20 //并设置地图类型为卫星模式 21 uiView.mapType = MKMapType.satellite 22 23 //初始化一个二维坐标,并设置经纬度的数值。 24 let coordinate2D = CLLocationCoordinate2D(latitude: 39.915352, longitude: 116.397105) 25 //设置地图视图的缩放比例为0.02 26 let zoomLevel = 0.02 27 //初始化一个坐标区域对象,作为地图视图所要显示的地理区域。 28 let region = MKCoordinateRegion(center: coordinate2D, span: MKCoordinateSpan(latitudeDelta: zoomLevel, longitudeDelta: zoomLevel)) 29 30 //使地图视图显示自定义的地理区域 31 uiView.setRegion(uiView.regionThatFits(region), animated: true) 32 } 33 } 34 35 #if DEBUG 36 struct ContentView_Previews : PreviewProvider { 37 38 static var previews: some View { 39 ContentView() 40 } 41 } 42 #endif
|
请发表评论