51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 3167|回复: 0
打印 上一主题 下一主题

[转贴] 轨迹回放代码演示

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-2-27 15:47:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. <!doctype html>
  2. <html>
  3. <head>
  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.     <link rel="stylesheet" href="http://cache.amap.com/lbs/static/main1119.css"/>
  9.         <script src="http://webapi.amap.com/maps?v=1.4.5&key=6202c32e3dccbecd6d7251d9f396db30&plugin=AMap.PolyEditor,AMap.CircleEditor,AMap.MouseTool,AMap.ToolBar"></script>
  10.         <script type="text/javascript" src="http://139.224.44.115:8010/Resource/js/jquery-2.0.0.min.js"></script>
  11.     <script type="text/javascript" src="http://cache.amap.com/lbs/static/addToolbar.js"></script>
  12. </head>
  13. <body>
  14. <div id="container"></div>
  15. <div class="button-group">
  16.     <input type="button" class="button" value="开始动画" id="start"/>
  17.     <input type="button" class="button" value="暂停动画" id="pause"/>
  18.     <input type="button" class="button" value="继续动画" id="resume"/>
  19.     <input type="button" class="button" value="停止动画" id="stop"/>
  20.         <input type="button" class="button" value="卡车中心位置" id="adjustment"/>
  21.         <input type="button" class="button" value="定时器移动卡车中心位置" id="timer"/>
  22. </div>
  23. <script>
  24.     var marker, lineArr = [];
  25.   
  26.         var map = new AMap.Map("container", {
  27.         resizeEnable: true,
  28.         center: [115.397428, 38.90923],
  29.         zoom: 18
  30.     });
  31.         //卡车图片
  32.         var truck = "http://139.224.44.115:8010/Resource/images/truck.png";
  33.         //起始位置图片
  34.         var start = "http://139.224.44.115:8010/Resource/images/icons/startAddr.png";
  35.         //结束位置图片
  36.         var end = "http://139.224.44.115:8010/Resource/images/icons/EndAddr.png";
  37.        
  38.         var images = truck;
  39.        
  40.     marker = new AMap.Marker({
  41.         map: map,
  42.         position: [115.397428, 38.90923],
  43.         icon: new AMap.Icon({            
  44.             size: new AMap.Size(50, 50),  //图标大小
  45.             image: truck
  46.         }) ,
  47.         offset: new AMap.Pixel(-26, -13),
  48.         autoRotation: false//图片是否自动旋转
  49.     });
  50.                
  51.         //设置起点地图设置一个起点图标
  52.         var startPosition = [115.397428, 38.90923];
  53.         //设置终点地图设置一个终点图标
  54.         var endPosition = [117.397428, 40.90923];
  55.        
  56.         markerStart = new AMap.Marker({
  57.         position: startPosition,
  58.         icon: start,
  59.         offset: new AMap.Pixel(-25, -30)
  60.     });
  61.         markerEnd = new AMap.Marker({
  62.         position: endPosition,
  63.         icon: end,
  64.         offset: new AMap.Pixel(-25, -30)
  65.     });
  66.         markerStart.setMap(map);
  67.         markerEnd.setMap(map);
  68.        
  69.         //假设当前位置的经纬度
  70.     //var lngX = 116.397428, latY = 39.90923;        
  71.     //lineArr.push([lngX, latY]);
  72.         //从数据库中获取当前位置之前的所有经纬度的数组
  73.         var lineArr = [
  74.                 [115.397428, 38.90923],
  75.                 [116.397428, 39.90923],
  76.                 [117.397428, 40.90923]
  77.         ];
  78.    
  79.     // 绘制轨迹
  80.     var polyline = new AMap.Polyline({
  81.         map: map,
  82.         path: lineArr,
  83.         strokeColor: "#00A",  //线颜色
  84.         // strokeOpacity: 1,     //线透明度
  85.         strokeWeight: 3,      //线宽
  86.         // strokeStyle: "solid"  //线样式
  87.     });
  88.     var passedPolyline = new AMap.Polyline({
  89.         map: map,
  90.         // path: lineArr,
  91.         strokeColor: "#F00",  //线颜色
  92.         // strokeOpacity: 1,     //线透明度
  93.         strokeWeight: 3,      //线宽
  94.         // strokeStyle: "solid"  //线样式
  95.     });

  96.     marker.on('moving',function(e){
  97.         passedPolyline.setPath(e.passedPath);
  98.     })
  99.     //map.setFitView();//不要这句话就默认为map定义的zoom等级,不然就根据路线长度定义zoom等级
  100.        
  101.         //需要设置中心点实时改变,不然会很难看,如果固定zoom的等级设定为最大数字的话。

  102.     AMap.event.addDomListener(document.getElementById('start'), 'click', function() {
  103.         marker.moveAlong(lineArr, 500);
  104.     }, false);
  105.      AMap.event.addDomListener(document.getElementById('pause'), 'click', function() {
  106.         marker.pauseMove();
  107.        }, false);
  108.       AMap.event.addDomListener(document.getElementById('resume'), 'click', function() {
  109.         marker.resumeMove();
  110.     }, false);
  111.     AMap.event.addDomListener(document.getElementById('stop'), 'click', function() {
  112.         marker.stopMove();
  113.     }, false);
  114.     AMap.event.addDomListener(document.getElementById('adjustment'), 'click', function() {
  115.                 //marker.getPosition();//获取卡车当前经纬度
  116.        var markerPosition =marker.getPosition();
  117.            map.panTo(markerPosition);//地图中心点平移至指定点位置
  118.     }, false);
  119.         AMap.event.addDomListener(document.getElementById('timer'), 'click', function() {
  120.                 var timerArr = [];
  121.                 for(var i = 0;i<lineArr.length;i++){
  122.                         timerArr.push(lineArr[i]);
  123.                         var timer=window.setInterval(function(){
  124.                                 var markerPosition =marker.getPosition();
  125.                                 map.panTo(markerPosition);
  126.                         },10000); //定时器
  127.                 }
  128.                 marker.moveAlong(timerArr, 500);
  129.           
  130.            //地图中心点平移至指定点位置
  131.                 var timer=window.setInterval(function(){
  132.                         var markerPosition =marker.getPosition();
  133.                         map.panTo(markerPosition);
  134.                 },1000); //定时器
  135.         
  136.     }, false);


  137. </script>
  138. </body>
  139. </html>
复制代码


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-4-19 15:11 , Processed in 0.062182 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表