SwiftUI 跳转高德地图

  • 超级简单的 demo
  • 一些基本的知识
    • iosamap://
    • itms-apps://
  • 拓展:name 为中文

其实用 Swift 实现高德地图的跳转真的非常简单!

超级简单的 demo

先上一个最简单的 demo:

  • 1、点击按钮根据经纬度和名称,打开高得地图
  • 2、如果没有高德地图则跳转 AppStore 进行安装
struct TestAMap: View {var body: some View {NavigationView {Button(action: {// 写死的经纬度let latitude = 32.204402let longitude = 119.452753// 名称可以为空let name = "AAAA"let url = URL(string: "iosamap://viewMap?sourceApplication=application&poiname=\(name)&lat=\(latitude)&lon=\(longitude)&dev=1")if UIApplication.shared.canOpenURL(url!) {// 跳转高德地图UIApplication.shared.open(url!, options: [:], completionHandler: nil)} else {// 跳转应用商店let urlString = URL(string:"itms-apps://itunes.apple.com/app/id461703208")UIApplication.shared.open(urlString!, options: [:], completionHandler: nil)}}, label: {Text("点击跳转地图")})}.navigationTitle("测试页面")}
}

一些基本的知识

iosamap://

上面代码中用到了 iosamap://xxxx ,这个是 IOS 开发高德地图的协议。

使用方法参考高德官方文档:https://lbs.amap.com/api/amap-mobile/guide/ios/marker

itms-apps://

这个是 App Store 的跳转协议,关键在于最后的 appID 如何获取?

非常简单,打开 AppStore,打开你要跳转的应用

  • 点击分享 - 拷贝链接
  • 链接最后的数字就是 appID

拓展:name 为中文

上面的代码中,name 只能为英文,否则会报错

解决:

struct MapNavigation {// 根据经纬度、名称,打开高德地图导航进行跳转static func showLocation(_ name: String, lat: String, lng: String) {let urlStr =  "iosamap://viewMap?sourceApplication=application&poiname=\(name)&lat=\(lat)&lon=\(lng)&dev=1".addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)let url = URL(string: urlStr!)if UIApplication.shared.canOpenURL(url!) {// 跳转高德地图UIApplication.shared.open(url!, options: [:], completionHandler: nil)} else {// 跳转应用商店let urlString = URL(string:"itms-apps://itunes.apple.com/app/id461703208")UIApplication.shared.open(urlString!, options: [:], completionHandler: nil)}}
}

使用方法:

MapNavigation.showLocation("测试地址", lat: "32.204402", lng: "119.452753 ")

SwiftUI 打开高德地图相关推荐

  1. Android 打开高德地图、百度地图进行导航;打开第三方App去导航;

    抽成工具类了,复制下来就能直接用了,直接看代码吧: 高德地图Url Api: http://lbs.amap.com/api/amap-mobile/guide/android/navigation ...

  2. 移动端h5页面打开高德地图或者百度地图实现导航

    需求场景:用户会收到一条短信,短信带着链接,点击链接跳转h5页面,h5页面实现跳转地图并实现导航. 方法:1.a标签直接打开地图,地图在浏览器支持跳转. 高德: <a href="ht ...

  3. uniapp 打开高德地图或者百度地图 进行导航

    //打开第三方地图 export function openMap(latitude,longitude,name){let url = "";if (plus.os.name = ...

  4. H5开发的移动应用打开高德地图、百度地图

    一.资料 (1)高德地图的官方文档: https://lbs.amap.com/api/amap-mobile/gettingstarted Android包名:com.autonavi.minima ...

  5. 微信小程序点击地图打开高德地图、百度地图

    1.小程序中使用map组件map | 微信开放文档 <map @click="goMap" style="width: 690rpx; height: 170rpx ...

  6. 基于android对接百度地图搜索附近关键字列表展示并调用第三方地图应用打开导航(百度地图、高德地图)

    经过两天的折腾,终于把需求实现了,记录下过程与遇到的坑(详情链接) 先上效果图 搜索结果 点击列表中的去这里调取第三方地图APP,效果图 首先配置百度地图 bBaiduMap = mMapView.g ...

  7. android启动百度地图应用并开始导航,android打开外部地图导航(百度、高德、腾讯)...

    外部打开百度地图进行导航: /*** 打开百度地图*@paramslat开始地点 维度*@paramslon开始地点 经度*@paramsname开始地点 名字*@paramdlat终点地点 维度*@ ...

  8. 如何实现在H5里调起高德地图APP?(下)

    这一篇文章将告诉您,如果直接打开高德地图APP,并展示路线规划.适合有定位的移动设备,可以查询到从"我的位置"到目的地的路径规划,并直接导航. 场景二.调起高德地图的路线规划功能 ...

  9. 高德地图小蓝点_一会晴天一会下雨?夏日想要顺利出行 高德地图这些小功能最实用...

    不同于其他三个季节,夏天总是有很多种烦恼,变化不定的天气就是其中最为影响出行的一项因素.而面对忽晴忽雨的天气,如何才能在夏日顺利出行呢?看看高德地图的这些实用小功能吧. ·实时天气预报 高德地图可以实 ...

最新文章

  1. 超越BERT的模型有哪些?
  2. 通用数据级别权限的框架设计与实现(3)-数据列表的权限过滤
  3. 用神经网络做分子模型是不是扯淡,f2,cl2,br2分子模型
  4. Smooth Delivery:如何减少网络拥塞?
  5. javascript时间戳和日期字符串相互转换
  6. 一张图诠释Git所有命令
  7. Yii2 Start Process and File Loading
  8. 采用Bert进行中文分词
  9. linux根文件系统的挂载过程详解
  10. 千万不能返回局部变量的引用
  11. 工业4.0时代,企业如何提升设备管理效率?
  12. Windows设置调节音量的快捷键
  13. 看图四级作文 快速技术的发展计算机,【英语四级看图作文范文11篇】_英语四级看图作文范文大全_2021年英语四级看图作文范文_东城教研...
  14. 汇编语言cf,of,sf,zf
  15. 倪光南院士2006年9月1号在南京软件博览会上的讲话
  16. QlikView sheet权限
  17. 企业品牌私域化运营,私域流量只是起步
  18. 字节跳动后端面经(18)
  19. 干货!常见waf识别
  20. c语言编写8个发光二极管循环右移,1、P1 口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。...

热门文章

  1. But don‘t be fooled, this phone does not
  2. 字符串的连接最长路径查找
  3. 如何连接sql托管实例_如何使用Windows托管的文件共享来支持SQL Server容器
  4. ssis导出数据性能_使用SSIS Hadoop组件导入和导出数据
  5. UVa 1639 - Candy(数学期望 + 精度处理)
  6. 【洛谷2926/BZOJ1607】[USACO08DEC]Patting Heads拍头(筛法)
  7. 并查集 路径压缩(具体解释)
  8. odbc数据源的配置
  9. 三行代码实现冒泡排序算法
  10. 连接Oracle时报错ORA-12541: TNS: 无监听程序