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

场景二、调起高德地图的路线规划功能

导航是目前JSAPI无法覆盖到的高德地图客户端的重要功能,目前高德地图提供了驾车、公交、步行三种方式的导航服务,JSAPI在Driving、Transfer、Walking三个路线规划插件类中提供了相关功能调起接口,使用这些接口开发者可以在Web页面中直接打开客户端的路线规划结果界面,也可以看到客户端提供的策略更丰富的路线规划结果,只需要点击一下便可以开始导航。想要实现这个功能只需要两步:

加载路线规划插件并创建对象

这里我们以驾车路线规划为例,加载Driving插件,创建Driving对象,同时设置驾车策略为最短时间:

  1. AMap.plugin(["AMap.Driving"], function() {
  2. var drivingOption = {
  3. policy:AMap.DrivingPolicy.LEAST_TIME,
  4. map:map
  5. };
  6. var driving = new AMap.Driving(drivingOption); //构造驾车导航类
  7. });

调用searchOnAMAP方法

Driving对象创建完毕之后,只需要在需要的地方调用searchOnAMAP方法就可以了,下面代码中是在button的点击事件中调用的。searchOnAMAP方法接收一个JSON对象参数,对象中需要指定路线规划的起终点坐标,同时也可以设定起终点名称,示例代码中我们利用了JSAPI路线规划的结果数据中的起终点坐标。调起高德地图客户端之后,只要点击‘开始导航’就可以使用导航功能了:

  1. //根据起终点坐标规划驾车路线
  2. driving.search(
  3. [{keyword:'北京站'},{keyword:'北京大学'}],
  4. function(status,result){
  5. button.onclick = function(){
  6. driving.searchOnAMAP({
  7. origin:result.origin,
  8. destination:result.destination
  9. });
  10. }
  11. });

查看全部源代码

  1. <!DOCTYPE html>
  2. <html>
  3. <head lang="en">
  4. <meta charset="utf-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width">
  7. <title></title>
  8. <style>
  9. body,#mapContainer{
  10. margin:0;
  11. height:100%;
  12. width:100%;
  13. text-align: center;
  14. font-size:12px;
  15. }
  16. .panel{
  17. position: absolute;
  18. top:15px;
  19. right: 15px;
  20. }
  21. .qrcodetxt{
  22. background-color: #0D9BF2;
  23. padding: 6px;
  24. color: white;
  25. }
  26. .center{
  27. position: absolute;
  28. width: 100%;
  29. bottom: 24px;
  30. }
  31. .btmtip {
  32. cursor: pointer;
  33. border-radius: 5px;
  34. background-color: #0D9BF2;
  35. padding: 6px;
  36. width: 160px;
  37. color: white;
  38. margin: 0 auto;
  39. }
  40. </style>
  41. <link rel="stylesheet" href="http://cache.amap.com/lbs/static/main.css?v=1.0?v=1.0" />
  42. <script type="text/javascript" src="http://webapi.amap.com/maps?v=1.3&key=您申请的key值&plugin=AMap.ToolBar"></script>
  43. <script>
  44. function init() {
  45. var button = document.getElementById('bt');
  46. map = new AMap.Map("mapContainer");
  47. AMap.plugin(["AMap.Driving"], function() {
  48. var drivingOption = {
  49. policy:AMap.DrivingPolicy.LEAST_TIME,
  50. map:map
  51. };
  52. var driving = new AMap.Driving(drivingOption); //构造驾车导航类
  53. //根据起终点坐标规划驾车路线
  54. driving.search([{keyword:'北京站'},{keyword:'北京大学'}],function(status,result){
  55. button.onclick = function(){
  56. driving.searchOnAMAP({
  57. origin:result.origin,
  58. destination:result.destination
  59. });
  60. }
  61. });
  62.  
  63. });
  64. map.addControl(new AMap.ToolBar());
  65. if(AMap.UA.mobile){
  66. document.getElementById('bitmap').style.display='none';
  67. bt.style.fontSize = '16px';
  68. }else{
  69. bt.style.marginRight = '10px';
  70. }
  71. }
  72. </script>
  73. </head>
  74. <body onload="init()">
  75. <div id="mapContainer" ></div>
  76. <div class='center'>
  77. <div id='bt' class="btmtip">点击去高德地图</div>
  78. </div>
  79. <div class="panel" id='bitmap' style='top:15px'>
  80. <img src="http://a.amap.com/lbs/static/img/drivingonapp.png" style='width:120px;height:120px'>
  81. <div class='qrcodetxt' style='text-align: center'>手机扫码打开demo</div>
  82. </div>
  83. </body>
  84. </html>

如何实现在H5里调起高德地图APP的更多相关文章

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

    这一篇文章,将讲述如何在H5里调起高德地图APP,并展示兴趣点.适合于展示某个餐馆,商场等,让用户自行选择前往方式. 场景一.在高德地图上展示Marker点或者POI标记 在一些基于位置分享的应用开发 ...

  2. 如何实现在H5里调起高德地图APP?

    http://www.cnblogs.com/milkmap/p/5912350.html 这一篇文章,将讲述如何在H5里调起高德地图APP,并展示兴趣点.适合于展示某个餐馆,商场等,让用户自行选择前 ...

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

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

  4. 在H5页面内通过地址调起高德地图实现导航

    项目中用到的一个功能是要通过点击地址来实现打开地图app实现地址导航. 如下图: 实现思路就是在H5页面内通过点击marker图标然后进行当前位置与页面上地址的路程规划与导航. 由于项目中用到的是高德 ...

  5. ArchSummit分享 | 高德地图App架构演化与实践

    讲师介绍 郝仁杰,高德地图无线开发专家.在7月13日落幕的2019年ArchSummit峰会上就高德地图近几年的App架构演化和实践进行了分享. 背景概述 高德是国内领先的数字地图内容.导航和位置服务 ...

  6. H5端调起百度地图、腾讯地图app

    来自一个需求的总结: 在微信公众号中根据地图上的marker和label,或者搜索结果点击调起地图APP进行导航. 一开始是使用百度地图进行开发,后面转腾讯是因为微信不允许不是自家或者合作方的APP在 ...

  7. 调用百度、高德地图App,百度地图网页版,App定位

    https://www.jianshu.com/p/296a3995adc2 https://blog.csdn.net/qq_26598821/article/details/51087785 ht ...

  8. vue2使用高德地图vue-amap定位以及AMapUI标注

    前言 最近在vue里使用了高德地图vue-amap以及AMapUI,我在这里就说下如何在vue2里引入vue-amap和AmapUI以及使用定位 (在这里默认你已经安装了vue-cli) 安装 npm ...

  9. 【idea】高德地图可以关爱一下高个汽车

    现状:1.交通事故时不时能看到大卡车,双层巴士在城市里限高区域时的车祸 原因分析:1.司机对路况不熟,驶入新的限高路,造成事故2.司机对车况不熟,临时换的车驾驶,忘记车高的变化3.司机路况车况都熟,道 ...

随机推荐

  1. mysql删除大表

    在mysql中遇到一个大表,大概有17G左右,在对这个表进行查询.修改时均遇到了很大的困难,于是想着删除这张表.通常的删除操作可以通过delete.drop.truncate操作,试了这三个命令,但是 ...

  2. 迁移mysql数据位置

    查看位置: show variables like '%datadir%'; /var/lib/mysql

  3. 树莓派PWM

    import RPi.GPIO as GPIO import time GPIO.setmode(GPIO.BCM) GPIO.setup(26, GPIO.OUT) p = GPIO.PWM(26, ...

  4. linux下如何制作initramfs镜像?

    1. 准备文件 加入已经准备好了所有文件在/home/initrd-base目录下 2. 在内核中指定/home/initramfs-base目录 General setup -> (/home ...

  5. centos和windows添加路由命令记录

    # 默认路由做香港出口route add default gw 192.168.10.33route add default gw 192.168.10.1 # 删除默认路由# route del d ...

  6. Jmeter全局变量设置

    背景:因为BeanShell PreProcessor制造的参数是一些随机参数,每个HTTP取样器包括其他取样器拿值得时候都是单独重新取一次,所以如果当几个取样器的值都要拿同一值时,就不满足需求了,我 ...

  7. WPF分析工具

    分析WPF程序是理解其行为很重要的一步,市场上有大量现成的WPF程序分析工具,如Snoop,WPFPerf,Perforator和Visual Profiler,其中Perforator和Visual ...

  8. HTTP1.1新增了五种请求方法:OPTIONS、PUT、PATCH、DELETE、TRACE 、 CONNECT

    200 (成功) 服务器已成功处理了请求. 通常,这表示服务器提供了请求的网页. 201 (已创建) 请求成功并且服务器创建了新的资源. 202 (已接受) 服务器已接受请求,但尚未处理. 203 ( ...

  9. spring 装配bean的混合使用

    在现实中,使用XML或者注解各有道理,建议在自己的工程中所开发的类尽量使用注解方式,因为使用它并不困难,甚至可以说更为简单,而对于引入第三方包或者服务的类,尽量使用XML方式,这样的好处是可以尽量对三 ...

  10. VS2010/VS2012/VS2015下openGL环境配置(转)

    按:按照下述博文,三个例子均成功. https://blog.csdn.net/so_geili/article/details/51685005 请仔细阅读每一个字. 为了学习<OpenGL超 ...