swift4--MKMapView地图控件的使用

77 阅读1分钟

导入UIKit

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

导入MapKit

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

class ViewController:UIViewController,MKMapViewDelegate {

override func viewDidLoad(){

super.viewDidLoad()

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

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

let geocoder = CLGeocoder()

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

let location = CLLocation(纬度:39.9,经度:116.3)

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

geocoder.reverseGeocodeLocation(location){(地标:[CLPlacemark]?,错误:错误?)

- >无效

if(placemark?.count)!> 0

{

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

让placemark = placemark?.first

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

print(地标?.name ??“”)

}

}

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

//在加载视图后进行任何其他设置,通常是从笔尖。

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

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

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

map.showsUserLocation = true

//设置地图的显示样式

// 1.卫星视图模式

map.mapType = MKMapType.satellite

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

let coordinate2D = CLLocationCoordinate2D(纬度:39.915352,经度:116.397105)

//设置缩放级别

让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 =“皇宫”

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

objectAnnotation.subtitle =“中国最大的宫殿。”

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

map.addAnnotation(objectAnnotation)

self.view.addSubview(地图)

}

override func didReceiveMemoryWarning(){

super.didReceiveMemoryWarning()

//处理可以重新创建的任何资源。

}

 

 

}