[Xcode 實際操做]4、經常使用控件-(17)爲MKMapView地圖上顯示提示框

目錄:[Swift]Xcode實際操做html

本文將演示當點擊地圖上的標註圓點時,彈出信息窗口。git

在項目導航區,打開視圖控制器的代碼文件【ViewController.swift】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 }
相關文章
相關標籤/搜索