swift笔记--MKMapView地图控件的使用

import UIKit

//往控制器类文件中引入地图框架

import MapKit

//添加地理视图代理协议

class ViewController: UIViewController , MKMapViewDelegate {

override func viewDidLoad() {

super.viewDidLoad()

//把经纬度转化为实际地名在控制台输出----

// 初始化一个地理位置解析类,使用该类进行地理坐标的反向解析

let geocoder = CLGeocoder()

// 通过设定经纬度来创建一个地理位置

let location = CLLocation(latitude: 39.9, longitude: 116.3)

// 使用解析对象,解析地理坐标

geocoder.reverseGeocodeLocation(location) { (placemark:[CLPlacemark]?, error:Error?)

-> Void in

if (placemark?.count)! > 0

{

// 获得位置标记数组中的第一个元素

let placemark = placemark?.first

// 在控制台打印解析后的结果

print(placemark?.name ?? "")

}

}

//---------输出了实际地名,此操作和后续代码没有关联

// Do any additional setup after loading the view, typically from a nib.

// 初始化一个地图对象,并指定位置与尺寸与根视图保持一致

let map = MKMapView(frame: self.view.bounds)

// 在地图中显示用户当前的地理位置

map.showsUserLocation = true

// 设置地图的显示样式

// 1.卫星视图模式

map.mapType = MKMapType.satellite

// 通过设定经纬度来创建一个地理位置

let coordinate2D = CLLocationCoordinate2D(latitude: 39.915352, longitude: 116.397105)

// 设置缩放级别

let zoomlevel = 0.002

// 初始化一个常量,表示地图对象的显示区域

let region = MKCoordinateRegionMake(coordinate2D, MKCoordinateSpanMake(zoomlevel, zoomlevel))

// 设置地图对象的显示区域

map.setRegion(map.regionThatFits(region), animated: true)

// 初始化一个点注释对象

let objectAnnotation = MKPointAnnotation()

// 设置注释对象的地理位置

objectAnnotation.coordinate = coordinate2D

// 设置注释对象的标题内容

objectAnnotation.title = "Imperial Palace"

// 设置注释对象的字标题内容

objectAnnotation.subtitle = "China's biggest palace."

// 将注释窗口添加到地图中

map.addAnnotation(objectAnnotation)

self.view.addSubview(map)

}

override func didReceiveMemoryWarning() {

super.didReceiveMemoryWarning()

// Dispose of any resources that can be recreated.

}

}

猜你喜欢

转载自blog.csdn.net/weixin_41735943/article/details/81155380