ios-快捷指令-高德导航

ios-快捷指令-高德导航


前篇


路线规划

路线规划 - https://lbs.amap.com/api/amap-mobile/guide/ios/route

  • 示例

    1
    iosamap://path?sourceApplication=applicationName&dev=0&t=0&did=&dlat=22.540755&dlon=113.940255&dname=威盛科技大厦地下停车场
    • t = 0 驾车;

      t = 1 公交;

      t = 2 步行;

      t = 3 骑行(骑行仅在V788以上版本支持)

    • dlat: 目的地 纬度

    • dlon: 目的地 经度


获取 分享链接

  1. 在高度地图上搜索目的地, 点击

    image-20240331141755172

    • 获取到的链接

      1
      https://surl.amap.com/j5QnaT2Ggru
      • 这里有两个关键参数需要注意
        1. j5QnaT2Ggru 是 目的地 id (did)
        2. 威盛大厦地下停车场 是 目的地名字 (dname)

通过 目的地 id 设置目的地 (推荐)

  1. [获取 分享链接](#获取 分享链接)

  2. 直接拼接成最终的 api url 地址

    1
    iosamap://path?sourceApplication=applicationName&dev=0&t=0&did=iEZpGPq14gPu&dname=威盛科技大厦地下停车场

通过经纬度设置目的地 (麻烦, 不推荐)

  1. [获取 分享链接](#获取 分享链接)

  2. 使用 Safari 打开这个链接, 但不要跳转, 点击取消, 然后复制地址栏

    image-20240331142107082

    • 地址栏能获取到这样的地址

      1
      https://m.amap.com/callAPP?ios=multiPointShow%3FsourceApplication%3Dfrom_wb%26dev%3D0%26q%3D22.540755%252C113.940255%252C%25E5%25A8%2581%25E7%259B%259B%25E7%25A7%2591%25E6%258A%2580%25E5%25A4%25A7%25E5%258E%25A6%25E5%259C%25B0%25E4%25B8%258B%25E5%2581%259C%25E8%25BD%25A6%25E5%259C%25BA%252C%25E6%25B7%25B1%25E5%259C%25B3%25E5%25B8%2582%25E5%258D%2597%25E5%25B1%25B1%25E5%258C%25BA%25E6%25AD%25A3%25E5%25BA%2584%25E8%25B7%25AF%25E4%25B8%258E%25E7%25A7%2591%25E8%2589%25BA%25E8%25B7%25AF%25E4%25BA%25A4%25E5%258F%2589%25E5%258F%25A3%25E4%25B8%259C80%25E7%25B1%25B3%252CB0G0XZZG73%252C%26title%3D%25E5%25A8%2581%25E7%259B%259B%25E7%25A7%2591%25E6%258A%2580%25E5%25A4%25A7%25E5%258E%25A6%25E5%259C%25B0%25E4%25B8%258B%25E5%2581%259C%25E8%25BD%25A6%25E5%259C%25BA&android=androidamap%3Faction%3Dshorturl%26p%3DB0G0XZZG73%2C22.540755%2C113.940255%2C威盛科技大厦地下停车场%2C深圳市南山区正庄路与科艺路交叉口东80米%2C440300%26sourceApplication%3Dfrom_wb&wp=multiPointShow%3FsourceApplication%3Dfrom_wb%26dev%3D0%26q%3D22.540755%252C113.940255%252C%25E5%25A8%2581%25E7%259B%259B%25E7%25A7%2591%25E6%258A%2580%25E5%25A4%25A7%25E5%258E%25A6%25E5%259C%25B0%25E4%25B8%258B%25E5%2581%259C%25E8%25BD%25A6%25E5%259C%25BA%252C%25E6%25B7%25B1%25E5%259C%25B3%25E5%25B8%2582%25E5%258D%2597%25E5%25B1%25B1%25E5%258C%25BA%25E6%25AD%25A3%25E5%25BA%2584%25E8%25B7%25AF%25E4%25B8%258E%25E7%25A7%2591%25E8%2589%25BA%25E8%25B7%25AF%25E4%25BA%25A4%25E5%258F%2589%25E5%258F%25A3%25E4%25B8%259C80%25E7%25B1%25B3%252CB0G0XZZG73%252C%26title%3D%25E5%25A8%2581%25E7%259B%259B%25E7%25A7%2591%25E6%258A%2580%25E5%25A4%25A7%25E5%258E%25A6%25E5%259C%25B0%25E4%25B8%258B%25E5%2581%259C%25E8%25BD%25A6%25E5%259C%25BA&mo=http%3A%2F%2Fm.amap.com%2F%3Fp%3DB0G0XZZG73%2C22.540755%2C113.940255%2C威盛科技大厦地下停车场%2C深圳市南山区正庄路与科艺路交叉口东80米%2C440300%26callapp%3D0&src=pc_sms_poi

      这是经过两次 url encode 的, 所以需要两次 url decode

      1
      2
      3
      4
      5
      6
      def test_urlencode(self):
      from urllib.parse import quote, unquote
      txt1 = "https://m.amap.com/callAPP?ios=multiPointShow%3FsourceApplication%3Dfrom_wb%26dev%3D0%26q%3D22.540755%252C113.940255%252C%25E5%25A8%2581%25E7%259B%259B%25E7%25A7%2591%25E6%258A%2580%25E5%25A4%25A7%25E5%258E%25A6%25E5%259C%25B0%25E4%25B8%258B%25E5%2581%259C%25E8%25BD%25A6%25E5%259C%25BA%252C%25E6%25B7%25B1%25E5%259C%25B3%25E5%25B8%2582%25E5%258D%2597%25E5%25B1%25B1%25E5%258C%25BA%25E6%25AD%25A3%25E5%25BA%2584%25E8%25B7%25AF%25E4%25B8%258E%25E7%25A7%2591%25E8%2589%25BA%25E8%25B7%25AF%25E4%25BA%25A4%25E5%258F%2589%25E5%258F%25A3%25E4%25B8%259C80%25E7%25B1%25B3%252CB0G0XZZG73%252C%26title%3D%25E5%25A8%2581%25E7%259B%259B%25E7%25A7%2591%25E6%258A%2580%25E5%25A4%25A7%25E5%258E%25A6%25E5%259C%25B0%25E4%25B8%258B%25E5%2581%259C%25E8%25BD%25A6%25E5%259C%25BA&android=androidamap%3Faction%3Dshorturl%26p%3DB0G0XZZG73%2C22.540755%2C113.940255%2C威盛科技大厦地下停车场%2C深圳市南山区正庄路与科艺路交叉口东80米%2C440300%26sourceApplication%3Dfrom_wb&wp=multiPointShow%3FsourceApplication%3Dfrom_wb%26dev%3D0%26q%3D22.540755%252C113.940255%252C%25E5%25A8%2581%25E7%259B%259B%25E7%25A7%2591%25E6%258A%2580%25E5%25A4%25A7%25E5%258E%25A6%25E5%259C%25B0%25E4%25B8%258B%25E5%2581%259C%25E8%25BD%25A6%25E5%259C%25BA%252C%25E6%25B7%25B1%25E5%259C%25B3%25E5%25B8%2582%25E5%258D%2597%25E5%25B1%25B1%25E5%258C%25BA%25E6%25AD%25A3%25E5%25BA%2584%25E8%25B7%25AF%25E4%25B8%258E%25E7%25A7%2591%25E8%2589%25BA%25E8%25B7%25AF%25E4%25BA%25A4%25E5%258F%2589%25E5%258F%25A3%25E4%25B8%259C80%25E7%25B1%25B3%252CB0G0XZZG73%252C%26title%3D%25E5%25A8%2581%25E7%259B%259B%25E7%25A7%2591%25E6%258A%2580%25E5%25A4%25A7%25E5%258E%25A6%25E5%259C%25B0%25E4%25B8%258B%25E5%2581%259C%25E8%25BD%25A6%25E5%259C%25BA&mo=http%3A%2F%2Fm.amap.com%2F%3Fp%3DB0G0XZZG73%2C22.540755%2C113.940255%2C威盛科技大厦地下停车场%2C深圳市南山区正庄路与科艺路交叉口东80米%2C440300%26callapp%3D0&src=pc_sms_poi"
      txt2 = unquote(txt1, 'utf-8') # dencode
      txt2 = unquote(txt2, 'utf-8') # dencode
      print("--- txt2:", txt2)
      • 结果

        1
        https://m.amap.com/callAPP?ios=multiPointShow?sourceApplication=from_wb&dev=0&q=22.540755,113.940255,威盛科技大厦地下停车场,深圳市南山区正庄路与科艺路交叉口东80米,B0G0XZZG73,&title=威盛科技大厦地下停车场&android=androidamap?action=shorturl&p=B0G0XZZG73,22.540755,113.940255,威盛科技大厦地下停车场,深圳市南山区正庄路与科艺路交叉口东80米,440300&sourceApplication=from_wb&wp=multiPointShow?sourceApplication=from_wb&dev=0&q=22.540755,113.940255,威盛科技大厦地下停车场,深圳市南山区正庄路与科艺路交叉口东80米,B0G0XZZG73,&title=威盛科技大厦地下停车场&mo=http://m.amap.com/?p=B0G0XZZG73,22.540755,113.940255,威盛科技大厦地下停车场,深圳市南山区正庄路与科艺路交叉口东80米,440300&callapp=0&src=pc_sms_poi
        • 提取里面的 经纬度 和 目标地 (dname) 参数
  3. 拼接成最终的 api url

    1
    iosamap://path?sourceApplication=applicationName&dev=0&t=0&dlat=22.540755&dlon=113.940255&dname=威盛科技大厦地下停车场