You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

228 lines
8.6 KiB

  1. <!DOCTYPE HTML>
  2. <html style="height:100%;">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, minimal-ui" />
  6. <title>行车路线</title>
  7. </head>
  8. <link rel="stylesheet" type="text/css" href="css/main.css"/>
  9. <link rel="stylesheet" type="text/css" href="css/master.css"/>
  10. <link rel="stylesheet" type="text/css" href="css/ui-base.css"/>
  11. <link rel="stylesheet" type="text/css" href="css/ui-box.css"/>
  12. <link rel="stylesheet" type="text/css" href="css/ui-color.css"/>
  13. <link rel="stylesheet" href="http://cache.amap.com/lbs/static/main1119.css"/>
  14. <style type="text/css" rel="stylesheet">
  15. header{position:absolute;height:60px;top:0;width:100%;background-color:#F4F4F4;z-index:999;text-align:center;line-height:60px;color:#666666;font-weight:bold;border-bottom:1px solid #BBBBBB;}
  16. header div:nth-child(1){position:absolute;z-index:1000;width:40px;cursor:pointer;}
  17. header div:nth-child(1) img{width:40px;height:40px;margin-left:3px;margin-top:10px;}
  18. header div:nth-child(2){width:100%}
  19. html body{height:100%;margin:0;font-family: "微软雅黑";}
  20. #map{height:100%!important;position:absolute;top:0px;width:100%;font-family: "微软雅黑";}
  21. .float_div{cursor:pointer;border-radius:3px;text-align:center;line-height:50px;background-color:#008CFF;width:60px;height:45px;position:absolute;z-index:888;right:5px;color: #fff;}
  22. #localtion{bottom:80px;}
  23. #panner{background-color:#272822;opacity:0.8;width:100%;height:140px;position:absolute;bottom:0;z-index:17;font-size:12px;color:#fff;}
  24. #visit{bottom:20px;}
  25. .amap-geolocation-con{
  26. position: fixed!important;
  27. }
  28. </style>
  29. <body>
  30. <div style="width: 100%;height: 0.5rem;position: fixed;z-index: 2;top: 0;background-color: rgba(0,0,0,0.6);line-height: 0.5rem;">
  31. <img style="width: 0.12rem;margin-left: 0.2rem;" src="images/a3/img_pro_d.png"/>
  32. <span style="color: #ccc;font-size: 0.14rem;margin-left: 0.05rem;" id="bus_name">罗师傅</span>
  33. <span style="color: #eee;font-size: 0.14rem;margin-left: 0.1rem;" id="bus_num">沪A12345</span>
  34. <a style="height: 0.5rem;width: 0.5rem;float: right;text-align: center;line-height: 0.65rem;" id="call_phone" href="tel:"><img style="text-align: right;height: 0.22rem;" src="images/a1/ic_call.png"/></a>
  35. </div>
  36. <div style="display: none;" id="panner">
  37. <div id="r_title"><b>定位结果:</b></div>
  38. <div id="result"></div>
  39. </div>
  40. <!--<div class="float_div" id="visit">
  41. 监控
  42. </div>-->
  43. <div id="map"></div>
  44. </body>
  45. <script src="js/jquery-2.2.4.min.js" type="text/javascript" charset="utf-8"></script>
  46. <script src="js/main.js" type="text/javascript" charset="utf-8"></script>
  47. <script src="js/rem.js" type="text/javascript" charset="utf-8"></script>
  48. <script language="javascript" src="http://webapi.amap.com/maps?v=1.3&key=5aa97c3a4c10064f8cfbace9f139ac49"></script>
  49. <script type="text/javascript" src="http://cache.amap.com/lbs/static/addToolbar.js"></script>
  50. <script type="text/javascript">
  51. var bus_num = getStorage("bus_num");
  52. var bus_name = getStorage("bus_name");
  53. var bus_phone = getStorage("bus_phone");
  54. $("#call_phone").attr("href","tel:"+bus_phone);
  55. $("#bus_name").text(bus_name);
  56. $("#bus_num").text(bus_num);
  57. var jing = "";
  58. var wei = "";
  59. var markers = [];
  60. (function (){
  61. var mapHeight = document.body.clientHeight - 200;
  62. document.getElementById('map').style.height = mapHeight + 'px';
  63. var map = new AMap.Map('map',{zoom:13,resizeEnable: true,panToLocation:true}), geolocation, result = document.getElementById('result');
  64. setInterval(show1,10000);
  65. map.plugin('AMap.Geolocation', function () {
  66. geolocation = new AMap.Geolocation({
  67. enableHighAccuracy: true,//是否使用高精度定位,默认:true
  68. noIpLocate:true,
  69. timeout: 10000, //超过10秒后停止定位,默认:无穷大
  70. maximumAge: 0, //定位结果缓存0毫秒,默认:0
  71. convert: true, //自动偏移坐标,偏移后的坐标为高德坐标,默认:true
  72. showButton: true, //显示定位按钮,默认:true
  73. buttonPosition: 'LB', //定位按钮停靠位置,默认:'LB',左下角
  74. buttonOffset: new AMap.Pixel(10, 20),//定位按钮与设置的停靠位置的偏移量,默认:Pixel(10, 20)
  75. showMarker: true, //定位成功后在定位到的位置显示点标记,默认:true
  76. showCircle: true, //定位成功后用圆圈表示定位精度范围,默认:true
  77. //panToLocation: false, //定位成功后将定位到的位置作为地图中心点,默认:true
  78. zoomToAccuracy:false, //定位成功后调整地图视野范围使定位位置及精度范围视野内可见,默认:false
  79. zoom:15
  80. });
  81. map.addControl(geolocation);
  82. geolocation.getCurrentPosition();
  83. AMap.event.addListener(geolocation, 'error', onError); //返回定位出错信息
  84. AMap.event.addListener(geolocation, 'complete', onComplete);//返回定位信息
  85. });
  86. watchPosition ();
  87. /*
  88. *获取当前位置信息
  89. */
  90. function getCurrentPosition () {
  91. geolocation.getCurrentPosition();
  92. };
  93. /*
  94. *监控当前位置并获取当前位置信息
  95. */
  96. function watchPosition () {
  97. geolocation.watchPosition();
  98. };
  99. /*
  100. *解析定位结果
  101. */
  102. function onComplete (data) {
  103. var str = '<p>定位成功</p>';
  104. str += '<p>经度:' + data.position.getLng() + '</p>';
  105. str += '<p>纬度:' + data.position.getLat() + '</p>';
  106. str += '<p>精度:' + data.accuracy + ' 米</p>';
  107. str += '<p>是否经过偏移:' + (data.isConverted ? '是' : '否') + '</p>';
  108. result.innerHTML = str;
  109. };
  110. /*
  111. *解析定位错误信息
  112. */
  113. function onError (data) {
  114. var str = '<p>定位失败</p>';
  115. str += '<p>错误信息:'
  116. switch(data.info) {
  117. case 'PERMISSION_DENIED':
  118. alert('定位失败,浏览器阻止了定位操作');
  119. str += '浏览器阻止了定位操作';
  120. break;
  121. case 'POSITION_UNAVAILBLE':
  122. alert('定位失败,无法获得当前位置');
  123. str += '无法获得当前位置';
  124. break;
  125. case 'TIMEOUT':
  126. alert('定位失败,定位超时');
  127. str += '定位超时';
  128. break;
  129. default:
  130. alert('定位失败,请检查微信是否开启定位');
  131. str += '未知错误';
  132. break;
  133. }
  134. str += '</p>';
  135. result.innerHTML = str;
  136. };
  137. function show1(){
  138. // map.clearMap();
  139. var i = 1;
  140. // geolocation.getCurrentPosition();
  141. $.ajax({
  142. url:"./zz_wxsct/control.php",
  143. type:'post',
  144. dataType: "json",
  145. data:{bus_no:bus_num,type:"travel_getposition",driver_name:bus_name},
  146. // data:{bus_no:'沪DC1720',type:"travel_getposition",driver_name:'SB'},
  147. success : function(data) {
  148. console.log(data);
  149. if(data.code=="0"){
  150. jing = data.list.j;
  151. wei = data.list.w;
  152. // AMap.event.addDomListener(document.getElementById('clearMarker'), 'click', function() {
  153. // marker.setMap(null);
  154. // }, false);
  155. // var marker = null;
  156. //
  157. //// marker = new AMap.Marker({
  158. //// map: map,
  159. //// position: [jing,wei],
  160. //// icon: new AMap.Icon({
  161. //// size: new AMap.Size(40, 40), //图标大小
  162. //// image: "images/a1/car.png",
  163. //// imageOffset: new AMap.Pixel(0, 0)
  164. //// })
  165. /*
  166. marker = new AMap.Marker({
  167. map: map,
  168. position: [jing,wei],
  169. icon: new AMap.Icon({
  170. size: new AMap.Size(40, 40), //图标大小
  171. image: "images/a1/car.png",
  172. imageOffset: new AMap.Pixel(0, 0)
  173. })
  174. })*/
  175. if(markers.length>0){
  176. markers[0].setMap(null);
  177. }
  178. markers.splice(0,markers.length);
  179. // if(!marker){
  180. marker = new AMap.Marker({
  181. map: map,
  182. position: [jing,wei],
  183. icon: new AMap.Icon({
  184. size: new AMap.Size(40, 40), //图标大小
  185. image: "images/a1/car.png",
  186. imageOffset: new AMap.Pixel(0, 0)
  187. })
  188. })
  189. markers.push(marker);
  190. // }
  191. // marker.setPosition(new AMap.LngLat( data.list.j,data.list.w));
  192. // jing = data.list.j;
  193. // wei = data.list.w;
  194. //更新点标记位置
  195. }else{
  196. alert(data.info);
  197. }
  198. }
  199. });
  200. }
  201. document.getElementById('visit').onclick = function(){
  202. watchPosition();
  203. };
  204. })();
  205. </script>
  206. </html>