[Swift通天遁地]一、超级工具-(8)地图视图MKMapView的常用代理方法

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
➤微信公众号:山青咏芝(shanqingyongzhi)
➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/
➤GitHub地址:https://github.com/strengthen/LeetCode
➤原文地址:https://www.cnblogs.com/strengthen/p/10145799.html 
➤如果链接不是山青咏芝的博客园地址,则可能是爬取作者的文章。
➤原文已修改更新!强烈建议点击原文地址阅读!支持作者!支持原创!
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

目录:[Swift]通天遁地Swift

本文将演示地图视图MKMapView的常用代理方法。

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

现在开始编写代码,创建一个地图视图,并设置地图视图的代理对象。

 1 import UIKit
 2 //在当前的类文件中引入所需的类库
 3 import MapKit
 4 //给当前的类添加一个地图视图的代理协议MKMapViewDelegate
 5 class ViewController: UIViewController, MKMapViewDelegate {
 6 
 7     override func viewDidLoad() {
 8         super.viewDidLoad()
 9         // Do any additional setup after loading the view, typically from a nib.
10         
11         //初始化一个地图视图,并使地图视图的显示区域,和设备的屏幕尺寸相同
12         let mapView = MKMapView(frame: self.view.bounds)
13         //设置地图的代理对象为当前的视图控制器对象
14         mapView.delegate = self
15         //设置地图的类型为标准类型
16         mapView.mapType = MKMapType.standard
17         
18         //初始化一个地理坐标,使地图加载该坐标位置上的地理信息
19         let coordinate2D = CLLocationCoordinate2D(latitude: 39.915352, longitude: 116.397105)
20         //根据地理坐标,初始化一个地理区域,并设置缩放比例
21         let region = MKCoordinateRegionMake(coordinate2D, MKCoordinateSpanMake(0.02, 0.02))
22         //设置地图的显示区域
23         mapView.setRegion(region, animated: true)
24         
25         //将地图视图添加到当前视图控制器的根视图
26         self.view.addSubview(mapView)
27     }
28     
29     //1.添加一个代理方法,用来监听地图区域将要发生变化时的动作。
30     //当用户在地图上进行平移或缩放操作时,该方法会被调用。
31     func mapView(_ mapView: MKMapView, regionWillChangeAnimated animated: Bool) {
32         print("regionWillChange")
33     }
34     
35     //2.添加一个代理方法,用来监听地图区域完成变化时的动作。
36     func mapView(_ mapView: MKMapView, regionDidChangeAnimated animated: Bool) {
37         print("regionDidChange")
38     }
39     
40     //3.添加一个代理方法,当地图视图即将加载地图信息时,调用此方法。
41     func mapViewWillStartLoadingMap(_ mapView: MKMapView) {
42         print("mapViewWillStartLoadingMap")
43     }
44 
45     //4.添加一个代理方法,当地图视图完成地图信息的加载时,调用此方法。
46     func mapViewDidFinishLoadingMap(_ mapView: MKMapView) {
47         print("mapViewDidFinishLoadingMap")
48     }
49     
50     //5.添加一个代理方法,当地图视图即将渲染地图信息时,调用此方法。
51     func mapViewWillStartRenderingMap(_ mapView: MKMapView) {
52         print("mapViewWillStartRenderingMap")
53     }
54     
55     //6.添加一个代理方法,当地图视图完成地图信息的渲染时,调用此方法。
56     func mapViewDidFinishRenderingMap(_ mapView: MKMapView, fullyRendered: Bool) {
57         print("mapViewDidFinishRenderingMap")
58     }
59 
60     override func didReceiveMemoryWarning() {
61         super.didReceiveMemoryWarning()
62         // Dispose of any resources that can be recreated.
63     }
64 }
原文地址:https://www.cnblogs.com/strengthen/p/10145799.html