mapBak.cshtml 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181
  1. <!doctype html>
  2. <html lang="zh-CN">
  3. <head>
  4. <!-- 原始地址://webapi.amap.com/ui/1.0/ui/misc/PositionPicker/examples/positionPicker.html -->
  5. <base href="//webapi.amap.com/ui/1.0/ui/misc/PositionPicker/examples/" />
  6. <meta charset="utf-8">
  7. <meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width">
  8. <title>拖拽选址</title>
  9. <style>
  10. html,
  11. body {
  12. height: 100%;
  13. margin: 0;
  14. width: 100%;
  15. padding: 0;
  16. overflow: hidden;
  17. font-size: 13px;
  18. }
  19. #container {
  20. height: 500px;
  21. width: 500px;
  22. margin: 0 auto;
  23. }
  24. #tip {
  25. background-color: #fff;
  26. padding-left: 10px;
  27. padding-right: 10px;
  28. position: absolute;
  29. font-size: 12px;
  30. right: 10px;
  31. top: 20px;
  32. border-radius: 3px;
  33. border: 1px solid #ccc;
  34. line-height: 30px;
  35. }
  36. </style>
  37. </head>
  38. <body>
  39. <div id="container" style="height:600px;width: 100%;vertical-align: middle;"></div>
  40. <div class="button-group">
  41. <input type="button" class="layui-btn layui-btn-mini layui-btn-normal" value="开始动画" id="move" style="display:none;" />
  42. <input type="button" class="layui-btn layui-btn-mini layui-btn-normal" value="暂停动画" id="pause" style="display:none;" />
  43. <input type="button" class="layui-btn layui-btn-mini layui-btn-normal" value="继续动画" id="resume" style="display:none;" />
  44. <input type="button" class="layui-btn layui-btn-mini layui-btn-normal" value="停止动画" id="stop" style="display:none;" />
  45. </div>
  46. <script type="text/javascript" src='//webapi.amap.com/maps?v=1.3&key={$geokey}&plugin=AMap.ToolBar'></script>
  47. <!-- UI组件库 1.0 -->
  48. <script src="//webapi.amap.com/ui/1.0/main.js?v=1.0.10"></script>
  49. <script type="text/javascript">
  50. var postData = {};
  51. postData['rsearch'] = rsearch;
  52. postData['uid'] = uid;
  53. postData['stime'] = stime;
  54. postData['etime'] = etime;
  55. postData['ajax'] = 1;
  56. var url = 'index.php?mod={$mod}&act={$act}&opt={$opt}'; //接口地址
  57. $.post(url, postData, function (res) {
  58. if (res.status == 1) {
  59. console.log(res);
  60. $("#container").show();
  61. var lnglatArr = new Array();
  62. var i = 0;
  63. $.grep(res.data, function (re) {
  64. lnglatArr[i] = new AMap.LngLat(re.longitude, re.latitude);
  65. i = i + 1;
  66. })
  67. AMap.convertFrom(lnglatArr, 'gps', function (status, result) {
  68. console.log(result);
  69. var marker, lineArr = [];
  70. var map = new AMap.Map("container", {
  71. resizeEnable: true,
  72. center: [result.locations[0].lng, result.locations[0].lat],
  73. zoom: 13
  74. });
  75. marker = new AMap.Marker({
  76. map: map,
  77. position: [result.locations[0].lng, result.locations[0].lat],
  78. icon: "http://webapi.amap.com/images/car.png",
  79. offset: new AMap.Pixel(-26, -13),
  80. autoRotation: true
  81. });
  82. $.grep(result.locations, function (r) {
  83. console.log(r);
  84. lineArr.push([r.lng, r.lat]);
  85. })
  86. // 绘制轨迹
  87. var polyline = new AMap.Polyline({
  88. map: map,
  89. path: lineArr,
  90. strokeColor: "#00A", //线颜色
  91. //strokeOpacity: 1, //线透明度
  92. strokeWeight: 3, //线宽
  93. //strokeStyle: "solid" //线样式
  94. });
  95. var passedPolyline = new AMap.Polyline({
  96. map: map,
  97. //path: lineArr,
  98. strokeColor: "#F00", //线颜色
  99. //strokeOpacity: 1, //线透明度
  100. strokeWeight: 3, //线宽
  101. //strokeStyle: "solid" //线样式
  102. });
  103. $("#move").show();
  104. $("#pause").show();
  105. $("#resume").show();
  106. $("#stop").show();
  107. AMapUI.loadUI(['overlay/SimpleInfoWindow'], function (SimpleInfoWindow) {
  108. infoWindow = new SimpleInfoWindow({
  109. infoTitle: '<strong>标题</strong>',
  110. infoBody: '点击开始动画可进行播放',
  111. //基点指向marker的头部位置
  112. offset: new AMap.Pixel(0, -31)
  113. });
  114. infoWindow.open(map, marker.getPosition());
  115. })
  116. marker.on('click', function (e) {
  117. infoWindow.open(map, marker.getPosition());
  118. });
  119. marker.on('moving', function (e) {
  120. var len = e.passedPath.length;
  121. var rate = res.data[len - 1].rate;
  122. var location = e.passedPath[len - 1];
  123. var lll = new AMap.LngLat(location.lng, location.lat);
  124. infoWindow.setInfoBody('<div>经度:' + location.lng + '<br>纬度:' + location.lat + '<br>速度:' + rate + ' km/h</div>');
  125. infoWindow.setPosition(lll);
  126. passedPolyline.setPath(e.passedPath);
  127. })
  128. map.setFitView();
  129. AMap.event.addDomListener(document.getElementById('move'), 'click', function () {
  130. marker.moveAlong(lineArr, 500, function (k) {
  131. return k;
  132. });
  133. }, false);
  134. AMap.event.addDomListener(document.getElementById('pause'), 'click', function () {
  135. marker.pauseMove();
  136. }, false);
  137. AMap.event.addDomListener(document.getElementById('resume'), 'click', function () {
  138. marker.resumeMove();
  139. }, false);
  140. AMap.event.addDomListener(document.getElementById('stop'), 'click', function () {
  141. marker.stopMove();
  142. }, false);
  143. });
  144. } else {
  145. $("#container").hide();
  146. $("#move").hide();
  147. $("#pause").hide();
  148. $("#resume").hide();
  149. $("#stop").hide();
  150. layui.use(['layer'], function () {
  151. var layer = layui.layer;
  152. layer.msg(res.msg, { icon: 2 });
  153. });
  154. }
  155. }, 'json')
  156. </script>
  157. </body>
  158. </html>