请选择 进入手机版 | 继续访问电脑版
帖子
帖子
用户
博客
课程
123下一页
返回列表 发新帖
显示全部楼层
20
帖子
0
勋章
6613
Y币

aMapNavigation 模块 分享

[复制链接]
发表于 2019-10-8 08:52:30
本帖最后由 yxWin 于 2019-10-8 09:00 编辑

aMapNavigation
概述
MapNavigation 模块封装了高德导航的sdk,iOS支持语音导航功能, android需要自己写接口播报(注:android从1.0.8开始支持高德内置的语音播报)。用户可自行算路策略类型。开发者只需输入起点终点经纬度即可轻松集成高德导航功能,本模块是由第三方模块开发者提供,使用本模块需在线云编译安装包。


注意:在iOS端最低适配版本为 iOS 8.0
不能同时添加的模块:bMap
使用本模块需配置 config.xml 文件 location 字段,获取后台定位权限。
在集成此模块之前需先配置 config 文件。在 config 里添加如下字段:
<preference name="backgroundMode" value="audio | location"/>

<feature name="aMapNavigation">  
  <param name="android_api_key" value="f7Is0******6rV3ZfFPZ1aa" />  
  <param name="ios_api_key" value="81q**********i4IYrawr1" />
  </feature>
用户在使用本模块之前需要获取高德地图API Key,Key 申请的具体流程请参照 申请Key。本模块需要的 key 可以和 aMapaMapLBSaMapLocationaMapReportLocation 模块的 key 共用。
高德开放平台链接  https://lbs**.**/dev/key/app
配置好后同步代码编译即可
运行截图
主要代码
  1. <!DOCTYPE html>
  2.   <html>
  3.   <head>
  4.       <meta charset="utf-8">
  5.       <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
  6.       <title>title</title>
  7.       <link rel="stylesheet" type="text/css" href="../css/api.css"/>
  8.       <style>
  9.           body{

  10.           }
  11.           footer{
  12.             width: 100%;
  13.             height: 200px;
  14.             position: absolute;
  15.             bottom: 0;
  16.             text-align: center;
  17.           }
  18.           button{
  19.             width: 90px;
  20.             height: 50px;
  21.             background-color: green;
  22.             color: #fff;
  23.           }
  24.       </style>
  25.   </head>
  26.   <body>
  27. <footer>
  28.   <button type="button" name="button" onclick="startA()">开始</button>
  29.   <button type="button" name="button" onclick="closeA()">关闭</button>
  30.   <button type="button" name="button" onclick="TextListener()">文字监听</button>
  31. </footer>
  32.   </body>
  33.   <script type="text/javascript" src="../script/api.js"></script>
  34.   <script type="text/javascript">
  35.       apiready = function(){

  36.       };
  37.       //开始导航
  38.       function startA() {
  39.         var aMapNavigation = api.require('aMapNavigation');
  40.         aMapNavigation.start({
  41.             start: {
  42.                 lon: 112.47723797622677,
  43.                 lat: 34.556480000000015
  44.             },
  45.             wayPoint: [{
  46.               lon: 111.57062599999995,
  47.               lat: 33.784214
  48.             }],
  49.             end: {
  50.                 lon: 109.77539000000002,
  51.                 lat: 33.43144
  52.             },
  53.             type: 'drive',
  54.             strategy: 'fast',
  55.             mode: 'GPS',
  56.             styles: {
  57.                 image: {
  58.                     start: 'fs://nav/start.png',
  59.                     end: 'fs://nav/end.png',
  60.                     way: 'fs://nav/way.png',
  61.                     camera: 'fs://nav/camera.png'
  62.                 },
  63.                 preference: {
  64.                     night: false,
  65.                     compass: false,
  66.                     crossImg: false,
  67.                     degree: 30,
  68.                     yawReCal: false,
  69.                     jamReCal: false,
  70.                     alwaysBright: false
  71.                 }
  72.             }
  73.         }, function(ret, err) {
  74.             if (ret) {
  75.                 alert(JSON.stringify(ret));
  76.             } else {
  77.                 alert(JSON.stringify(err));
  78.             }
  79.         });
  80.       }
  81.       //关闭
  82.       function closeA() {
  83.         var aMapNavigation = api.require('aMapNavigation');
  84.         aMapNavigation.close();
  85.       }
  86.       //监听
  87.       function TextListener() {
  88.         var aMapNavigation = api.require('aMapNavigation');
  89.         aMapNavigation.navigationTextListener({
  90.             state : true
  91.         }, function(ret, err) {
  92.             if (ret) {
  93.               console.log(JSON.stringify(ret));
  94.                 //alert(JSON.stringify(ret));
  95.             }
  96.         });
  97.       }
  98.   </script>
  99.   </html>
复制代码
注意 监听要在 start 之后调用。

本帖子中包含更多资源,您需要 登录 才可以下载或查看,没有帐号?立即注册

X
25
帖子
0
勋章
1277
Y币
赞赞赞   
26
帖子
0
勋章
204
Y币
alwaysBright: true 为什么还是息屏。  
  1.   apiready = function () {
  2.                                         api.setKeepScreenOn({
  3.                                                         keepOn: true
  4.                                         });
  5.         };
复制代码

已经加入了
20
帖子
0
勋章
6613
Y币
boyunweb 发表于 2020-4-8 08:36
alwaysBright: true 为什么还是息屏。  

已经加入了

同步代码 云编译试一下
26
帖子
0
勋章
204
Y币
yxWin 发表于 2020-4-8 09:51
同步代码 云编译试一下

是导航模块有问题。
15
帖子
0
勋章
54
Y币
编译失败
20
帖子
0
勋章
6613
Y币

发一下 报错的日志吧
0
帖子
0
勋章
3
Y币
初始化语音跟实际进去后的导航数据不一样
1
帖子
0
勋章
12
Y币
线太粗了怎么设置小一点
0
帖子
0
勋章
3
Y币
陈庆刚 发表于 2021-3-21 18:07
线太粗了怎么设置小一点

大佬,这个没有导航线路是怎么回事阿?

本帖子中包含更多资源,您需要 登录 才可以下载或查看,没有帐号?立即注册

X
123下一页
您需要登录后才可以回帖 登录

本版积分规则