import UIKit

//1.导入框架
import MapKit class ViewController: UIViewController {
lazy var geoCoder : CLGeocoder = {
return CLGeocoder()
}() override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) { geoCoder.geocodeAddressString("广州") { (pls, err) in
//广州坐标
guard let gzPL = pls?.first else{
return
} self.geoCoder.geocodeAddressString("上海", completionHandler: { (pls, err) in
//上海坐标
if let shPL = pls?.first{
self.beginNav(startPLCL: gzPL, endPLCL: shPL)
}
})
}
}
} // MARK: - 导航起点和终点
extension ViewController{
func beginNav(startPLCL: CLPlacemark, endPLCL: CLPlacemark) { // 起点
let plMK: MKPlacemark = MKPlacemark(placemark: startPLCL)
let startItem: MKMapItem = MKMapItem(placemark: plMK) // 终点
let endplMK: MKPlacemark = MKPlacemark(placemark: endPLCL)
let endItem: MKMapItem = MKMapItem(placemark: endplMK) // 起点和终点
let mapItems: [MKMapItem] = [startItem, endItem] // 导航设置字典
let dic: [String : Any] = [
// 导航模式
MKLaunchOptionsDirectionsModeKey: MKLaunchOptionsDirectionsModeDriving,
// 地图样式
MKLaunchOptionsMapTypeKey: MKMapType.standard.rawValue,
// 显示交通
MKLaunchOptionsShowsTrafficKey: true
]
MKMapItem.openMaps(with: mapItems, launchOptions: dic)
}
}

  

swift - 使用系统app导航的更多相关文章

  1. 利用系统APP实现导航---By张秀清

    苹果系统本身自带一个地图APP,但是功能并不是很强大,但是一些简单的导航功能还是能做出来的,下面贴上我的代码 // // ViewController.m // 系统APP导航 // // Creat ...

  2. 导航 - 利用系统自带的App导航

    导航: 可以将需要导航位置丢给系统自带的App进行导航 发送网络请求到公司服务器, 获取导航数据, 自己手动绘制导航 利用三方SDK进行导航(百度) #import "ViewControl ...

  3. iOS系统中导航栏的转场解决方案与最佳实践

    背景 目前,开源社区和业界内已经存在一些 iOS 导航栏转场的解决方案,但对于历史包袱沉重的美团 App 而言,这些解决方案并不完美.有的方案不能满足复杂的页面跳转场景,有的方案迁移成本较大,为此我们 ...

  4. 用Swift语言做App开发之单元测试

    作为一个有质量保障的应用程序,当然少不了单元测试:Swift开发的App也亦如此,此文将以一个简单的实例来介绍Swift中的单元测试. 这里我们使用XCode模版自带的XCTest框架,此框架包含了一 ...

  5. Slideout.js – 触摸滑出式 Web App 导航菜单

    Slideout.js 是为您的移动 Web 应用开发的触摸滑出式的导航菜单.它没有依赖,自由搭配简单的标记,支持原生的滚动,您可以轻松地定制它.它支持不同的 CSS3 转换和过渡.最重要的是,它只是 ...

  6. iOS系统app崩溃日志手动符号化

    iOS系统app崩溃日志手动符号化步骤: 1.在桌面建立一个crash文件夹,将symbolicatecrash工具..crash文件..dSYM文件放到该文件夹中 a.如何查询symbolicate ...

  7. 21个高质量的Swift开源iOS App

    原文:21 Amazing Open Source iOS Apps Written in Swift 对Swift初学者来说,学习开源项目,阅读源码是个不错的方法.在这篇文章中,基于对代码质量和排名 ...

  8. 报课系统APP

    031302307黄丰润 031302343张晓燕 #NABCD模型分析 合理分析需求有助于说服客户,所以我们有如下分析 N(need)--客户需要什么 负责人需要将选课信息和选课表格一起发送给所负责 ...

  9. ios7隐藏系统底部导航

    ios7隐藏系统底部导航 minimal-ui <meta id="viewport" name="viewport" content="wid ...

随机推荐

  1. Linux 循环创建多个线程

    这里说一下相关的基础知识: 线程概念 什么是线程 LWP:light weight process 轻量级的进程,本质仍是进程(在Linux环境下)     进程:独立地址空间,拥有PCB     线 ...

  2. 在postgresqlz中查看与删除索引

    查看索引 select * from pg_indexes where tablename='tbname';      或者     select * from pg_statio_all_inde ...

  3. How to Pronounce the Word ARE

    How to Pronounce the Word ARE Share Tweet Share Tagged With: ARE Reduction Study the ARE reduction. ...

  4. C# DataTable使用方法详解--删除表数据

    在项目中常常常使用到DataTable,假设DataTable使用得当,不仅能使程序简洁有用,并且可以提高性能,达到事半功倍的效果,现对DataTable的使用技巧进行一下总结. 1.添加引用 1 u ...

  5. UNION 与 UNION ALL的区别

    UNION 操作符用于合并两个或多个 SELECT 语句的结果集. 请注意,列的数量.数据类型.顺序要保持一致!!! 结果集中的列名总是等于 UNION 中第一个 SELECT 语句中的列名. 例子: ...

  6. GIS案例学习笔记-水文分析河网提取地理建模

    GIS案例学习笔记-水文分析河网提取地理建模 联系方式:谢老师,135-4855-4328,xiexiaokui#qq.com 目的:针对数字高程模型,通过水文分析,提取河网 操作时间:25分钟 数据 ...

  7. 初级JS

    唐太宗  李世民  杀了大哥 和弟弟  登上的皇位    一个人当皇帝 排他性是指一种物品具有可以阻止其他人使用该物品的特性. 排他性思想: 在程序中但凡是遇到只让自己怎么样,不让别人怎么样的效果,都 ...

  8. python 引用和对象理解(转)

    引用和对象分离 从最开始的变量开始思考: 在python中,如果要使用一个变量,不需要提前进行声明,只需要在用的时候,给这个变量赋值即可 (这个和C语言等静态类型语言不同,和python为动态类型有关 ...

  9. Linux初学时的一些常用命令(1)

    查看帮助: man 命令   退出帮助目录:   q 切换目录:cd cd 目录 cd 目录/目录 cd ..  :上一级目录 cd /  :根目录cd ~ :回家  创建目录和删除目录   mkdi ...

  10. SQL server 基本语法

    文字摘自https://www.cnblogs.com/chaoa/articles/3894311.html 一.定义变量 --简单赋值 declare @a intset @a=5 print @ ...