导入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()
//处理可以重新创建的任何资源。
}
}