目錄:[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 }