<!doctype html> <html lang="zh-CN"> <head> <!-- 原始地址://webapi.amap.com/ui/1.0/ui/misc/PositionPicker/examples/positionPicker.html --> <base href="//webapi.amap.com/ui/1.0/ui/misc/PositionPicker/examples/" /> <meta charset="utf-8"> <meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width"> <title>拖拽选址</title> <style> html, body { height: 100%; margin: 0; width: 100%; padding: 0; overflow: hidden; font-size: 13px; } #container { height: 500px; width: 500px; margin: 0 auto; } #tip { background-color: #fff; padding-left: 10px; padding-right: 10px; position: absolute; font-size: 12px; right: 10px; top: 20px; border-radius: 3px; border: 1px solid #ccc; line-height: 30px; } </style> </head> <body> <div id="container" style="height:600px;width: 100%;vertical-align: middle;"></div> <div class="button-group"> <input type="button" class="layui-btn layui-btn-mini layui-btn-normal" value="开始动画" id="move" style="display:none;" /> <input type="button" class="layui-btn layui-btn-mini layui-btn-normal" value="暂停动画" id="pause" style="display:none;" /> <input type="button" class="layui-btn layui-btn-mini layui-btn-normal" value="继续动画" id="resume" style="display:none;" /> <input type="button" class="layui-btn layui-btn-mini layui-btn-normal" value="停止动画" id="stop" style="display:none;" /> </div> <script type="text/javascript" src='//webapi.amap.com/maps?v=1.3&key={$geokey}&plugin=AMap.ToolBar'></script> <!-- UI组件库 1.0 --> <script src="//webapi.amap.com/ui/1.0/main.js?v=1.0.10"></script> <script type="text/javascript"> var postData = {}; postData['rsearch'] = rsearch; postData['uid'] = uid; postData['stime'] = stime; postData['etime'] = etime; postData['ajax'] = 1; var url = 'index.php?mod={$mod}&act={$act}&opt={$opt}'; //接口地址 $.post(url, postData, function (res) { if (res.status == 1) { console.log(res); $("#container").show(); var lnglatArr = new Array(); var i = 0; $.grep(res.data, function (re) { lnglatArr[i] = new AMap.LngLat(re.longitude, re.latitude); i = i + 1; }) AMap.convertFrom(lnglatArr, 'gps', function (status, result) { console.log(result); var marker, lineArr = []; var map = new AMap.Map("container", { resizeEnable: true, center: [result.locations[0].lng, result.locations[0].lat], zoom: 13 }); marker = new AMap.Marker({ map: map, position: [result.locations[0].lng, result.locations[0].lat], icon: "http://webapi.amap.com/images/car.png", offset: new AMap.Pixel(-26, -13), autoRotation: true }); $.grep(result.locations, function (r) { console.log(r); lineArr.push([r.lng, r.lat]); }) // 绘制轨迹 var polyline = new AMap.Polyline({ map: map, path: lineArr, strokeColor: "#00A", //线颜色 //strokeOpacity: 1, //线透明度 strokeWeight: 3, //线宽 //strokeStyle: "solid" //线样式 }); var passedPolyline = new AMap.Polyline({ map: map, //path: lineArr, strokeColor: "#F00", //线颜色 //strokeOpacity: 1, //线透明度 strokeWeight: 3, //线宽 //strokeStyle: "solid" //线样式 }); $("#move").show(); $("#pause").show(); $("#resume").show(); $("#stop").show(); AMapUI.loadUI(['overlay/SimpleInfoWindow'], function (SimpleInfoWindow) { infoWindow = new SimpleInfoWindow({ infoTitle: '<strong>标题</strong>', infoBody: '点击开始动画可进行播放', //基点指向marker的头部位置 offset: new AMap.Pixel(0, -31) }); infoWindow.open(map, marker.getPosition()); }) marker.on('click', function (e) { infoWindow.open(map, marker.getPosition()); }); marker.on('moving', function (e) { var len = e.passedPath.length; var rate = res.data[len - 1].rate; var location = e.passedPath[len - 1]; var lll = new AMap.LngLat(location.lng, location.lat); infoWindow.setInfoBody('<div>经度:' + location.lng + '<br>纬度:' + location.lat + '<br>速度:' + rate + ' km/h</div>'); infoWindow.setPosition(lll); passedPolyline.setPath(e.passedPath); }) map.setFitView(); AMap.event.addDomListener(document.getElementById('move'), 'click', function () { marker.moveAlong(lineArr, 500, function (k) { return k; }); }, false); AMap.event.addDomListener(document.getElementById('pause'), 'click', function () { marker.pauseMove(); }, false); AMap.event.addDomListener(document.getElementById('resume'), 'click', function () { marker.resumeMove(); }, false); AMap.event.addDomListener(document.getElementById('stop'), 'click', function () { marker.stopMove(); }, false); }); } else { $("#container").hide(); $("#move").hide(); $("#pause").hide(); $("#resume").hide(); $("#stop").hide(); layui.use(['layer'], function () { var layer = layui.layer; layer.msg(res.msg, { icon: 2 }); }); } }, 'json') </script> </body> </html>