设为首页 加入收藏

TOP

【iOS】7.4 定位服务->3.2 地图框架MapKit 功能2:路线规划(导航)(二)
2017-10-11 18:36:24 】 浏览:5102
Tags:iOS 7.4定位 服务 -> 3.2 地图 框架 MapKit 功能 路线 规划 导航
    NSDictionary *launchDic = @{           // 导航模式:驾驶           MKLaunchOptionsDirectionsModeKey : MKLaunchOptionsDirectionsModeDriving,           // 地图样式:标准样式           MKLaunchOptionsMapTypeKey : @(MKMapTypeStandard),           // 显示交通:显示           MKLaunchOptionsShowsTrafficKey : @(YES),     };          // 根据 MKMapItem 的起点和终点组成数组, 通过导航地图启动项参数字典, 调用系统的地图APP进行导航     [MKMapItem openMapsWithItems:@[startItem, endItem] launchOptions:launchDic]; } - (void)didReceiveMemoryWarning {     [super didReceiveMemoryWarning];     // Dispose of any resources that can be recreated. } @end
【Swift】
import UIKit
import MapKit

class ViewController: UIViewController {

    // MARK: - 懒加载
    lazy var geoCoder: CLGeocoder = {
        return CLGeocoder()
    }()
    
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
    }
    
    override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
        // MARK: - 地理编码(导航包括:起点和终点  数据由苹果处理)
        geoCoder.geocodeAddressString("广州") { (pls: [CLPlacemark]?, error) -> Void in
            // 1. 拿到广州地标对象
            let gzPL = pls?.first
            
            self.geoCoder.geocodeAddressString("上海") { (pls: [CLPlacemark]?, error) -> Void in
                // 2. 拿到上海地标对象
                let shPL = pls?.first
                
                // 3. 调用开始导航的方法(从广州到上海)
                self.beginNav(gzPL!, endPLCL: shPL!)
            }
        }
    }
    
    //MARK: - 开始导航
    func beginNav(_ startPLCL: CLPlacemark, endPLCL: CLPlacemark) {
        
        // 获取起点
        let startplMK: MKPlacemark = MKPlacemark(placemark: startPLCL)
        let startItem: MKMapItem = MKMapItem(placemark: startplMK)
        
        // 获取终点
        let endplMK: MKPlacemark = MKPlacemark(placemark: endPLCL)
        let endItem: MKMapItem = MKMapItem(placemark: endplMK)
        
        // 设置起点和终点
        let mapItems: [MKMapItem] = [startItem, endItem]
        
        // 设置导航地图启动项参数字典
        let dic: [String : AnyObject] = [
            // 导航模式:驾驶
            MKLaunchOptionsDir
首页 上一页 1 2 3 4 5 6 7 下一页 尾页 2/8/8
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇【代码笔记】iOS-cell自动变化大小 下一篇iOS scene之间的跳转类型——Segue

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目