[Xcode10 实际操作]四、常用控件-(17)为MKMapView地图上显示提示框

本文将演示当点击地图上的标注圆点时,弹出信息窗口。

在项目导航区,打开视图控制器的代码文件【ViewController.swift】

 1 import UIKit
 2 //首先往视图控制器类文件中,引入地图框架
 3 import MapKit
 4 
 5 //添加地理地图代理协议MKMapViewDelegate
 6 class ViewController: UIViewController, MKMapViewDelegate {
 7 
 8     override func viewDidLoad() {
 9         super.viewDidLoad()
10         // Do any additional setup after loading the view, typically from a nib.
11         //初始化一个地图对象,并制定其位置和尺寸:与根视图保持一致
12         let mapView = MKMapView(frame: self.view.bounds)
13         //在地图中,显示当前用户的地理位置
14         mapView.showsUserLocation = true
15         //设置地图的显示样式,为标准的地图类型
16         mapView.mapType = MKMapType.standard
17         
18         //设置在地图视图上显示指南针控件
19         mapView.showsCompass = true
20         //设置在地图视图上显示缩放信息
21         mapView.showsScale = true
22         //设置在地图视图上显示交通信息
23         mapView.showsTraffic = true
24         
25         //设置在地图视图上显示三维建筑信息
26         mapView.showsBuildings = true
27         //设置在地图视图上显示兴趣点信息
28         mapView.showsPointsOfInterest = true
29         //显示当前用户的地理位置
30         mapView.showsUserLocation = true
31         
32         //设置在地图视图上,是否允许用户查看当前的地图
33         mapView.isScrollEnabled = false
34         //设置在地图视图上,是否使用地图相机的头信息
35         mapView.isRotateEnabled = false
36         //设置在地图视图上,是否允许用户使用捏合手势来放大和缩小地图
37         mapView.isZoomEnabled = false
38         //设置在地图视图上,当此属性设置为真时,并且有摄像机与地图关联时,
39         //可以使用摄像机的俯仰角,来倾斜地图的平面
40         mapView.isPitchEnabled = true
41         
42          //通过设定经纬度,来创建一个地理位置
43         let coordinate2D = CLLocationCoordinate2D(latitude: 39.915352, longitude: 116.397105)
44         //设置地图显示区域的缩放级别
45         let zoomLevel = 0.02
46         //初始化一个常量,标识地图对象的显示区域
47         let region = MKCoordinateRegion(center: coordinate2D, span: MKCoordinateSpan(latitudeDelta: zoomLevel, longitudeDelta: zoomLevel))
48         //设置地图对象的显示区域
49         mapView.setRegion(region, animated: true)
50         
51         //初始化一个点注释对象
52         let objectAnnotation = MKPointAnnotation()
53         //设置注释对象的地理位置
54         objectAnnotation.coordinate = coordinate2D
55         //设置注释对象的标题内容
56         objectAnnotation.title = "Imperial Palace"
57         //设置注释对象的子标题内容
58         objectAnnotation.subtitle = "China's biggest palace."
59         
60         //将注释窗口对象,添加到地图中
61         mapView.addAnnotation(objectAnnotation)
62         
63         //将地图视图对象,添加到当前视图控制器的根视图
64         self.view.addSubview(mapView)
65     }
66 
67     override func didReceiveMemoryWarning() {
68         super.didReceiveMemoryWarning()
69         // Dispose of any resources that can be recreated.
70     }
71 }

猜你喜欢

转载自www.cnblogs.com/strengthen/p/10017108.html
今日推荐