From 521efb9bc33d52ef4772f0b30f8a371ba4b0070c Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期六, 11 二月 2023 19:09:42 +0800 Subject: [PATCH] 更新最新代码 --- ManagementIGOTravel/guns-admin/src/main/webapp/static/home.js | 316 ++++++++++++++++++++-------------------------------- 1 files changed, 121 insertions(+), 195 deletions(-) diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/static/home.js b/ManagementIGOTravel/guns-admin/src/main/webapp/static/home.js index a6f51ba..03cd9f1 100644 --- a/ManagementIGOTravel/guns-admin/src/main/webapp/static/home.js +++ b/ManagementIGOTravel/guns-admin/src/main/webapp/static/home.js @@ -1,7 +1,5 @@ var uid = $("#3dnzNxplgTiHaddR",top.window.document).val(); -var markers = []; var companyId = ''; -var mark_last;//记录上一次点击的mark var Home = { id: "VersionTable", //表格id @@ -110,67 +108,41 @@ }); getData(); getCompanyByUid(); - // setInterval(function () { - // Home.webSocketClient(null); - // }, 60000 * 5); - // setInterval(function () { - // Home.getAllOrder(); - // }, 60000 * 5); + setInterval(function () { + Home.webSocketClient(null); + }, 60000 * 5); + setInterval(function () { + Home.getAllOrder(); + }, 60000 * 5); }); -var map = new AMap.Map('container',{ - resizeEnable: true, - zoom:10 -}); +let map; +let markers = []; + +let map2; + +let markers2 = []; + +function initMap() { + // The location of Uluru + const uluru = { lat: 5.668430499999999, lng: -0.060339 }; + // The map, centered at Uluru + map = new google.maps.Map(document.getElementById("map"), { + zoom: 8, + center: uluru, + }); + + // The map, centered at Uluru + map2 = new google.maps.Map(document.getElementById("map1"), { + zoom: 7, + center: uluru, + }); +} -var map_ = new AMap.Map('container_',{ - resizeEnable: true, - mapStyle: 'amap://styles/1de318cbb8d12c02303a22c550b9ccc9', - zoom:10 -}); - -var mouseTool = new AMap.MouseTool(map); -//监听draw事件可获取画好的覆盖物 -var overlays = []; -var name = null; -var coordinate = '';//存储坐标 -mouseTool.on('draw',function(e){ - overlays.push(e.obj); - console.log(e.obj.getPath()); - - switch (name) { - case 'polyline':{//折线图 - var polyline = e.obj.getPath(); - getCoordinate(polyline); - break; - } - case 'polygon':{//多边形 - var polygon = e.obj.getPath(); - getCoordinate(polygon); - break; - } - case 'rectangle':{//矩形 - var rectangle = e.obj.getPath(); - getCoordinate(rectangle); - break; - } - case 'circle':{//圆行 - var center = e.obj.getCenter(); - var radius = e.obj.getRadius(); - if(radius > 5000){ - Feng.error("创建电子围栏失败,圆半径不能大于5000米"); - return; - } - coordinate = center.lng + ',' + center.lat + ';' + radius; - break; - } - } - console.log(coordinate); -}) - +window.initMap = initMap; function getCompanyByUid() { $.ajax({ @@ -285,100 +257,119 @@ } + +function clearMarkers() { + for (let i = 0; i < markers.length; i++) { + markers[i].setMap(null); + } + markers = []; +} + +function clearMarkers1() { + for (let i = 0; i < markers2.length; i++) { + markers2[i].setMap(null); + } + markers2 = []; +} + + + Home.webSocketClient = function (companyId) { $.ajax({ url: Feng.ctxPath + '/home/getDriverPosition', type: 'POST', data: { - companyId: companyId, - //暂定修改此处,不改方法 - state:$("#driverState").val() + companyId: companyId }, success: function (res) { - map.remove(markers); - markers = []; - var data = res.driver; + clearMarkers(); + var data1 = res.driver1; + var data2 = res.driver2; var order = res.order; var d = ''; - for(var i in data){ - var driver = data[i].driver; - var driverId = driver.id - var state='<span style="font-size:12px;padding:3px 3px;float: right" class="label label-error">离</span>'; - if("2"==driver.state){ - state='<span style="font-size:12px;padding:3px 3px;float: right" class="label label-warning">听</span>'; - }else if("3"==driver.state){ - state='<span style="font-size:12px;padding:3px 3px;float: right" class="label label-primary">载</span>'; - } - d += '<li style="font-size: 12px;" class="list-group-item" ondblclick="Home.dblclickDriver('+i+')" id="' + driverId + '">' + driver.name + '-' + driver.phone +state+ '</li>'; - if('' != data[i].lon){ - // 创建 AMap.Icon 实例: - var icon = new AMap.Icon({ - size: new AMap.Size(40, 50), // 图标尺寸 - image: '/static/car.png', // Icon的图像 - // imageOffset: new AMap.Pixel(0, -60), // 图像相对展示区域的偏移量,适于雪碧图等 - imageSize: new AMap.Size(40, 50), // 根据所设置的大小拉伸或压缩图片 - }); + for(var i in data1){ + var driver = data1[i].driver; + var driverId = driver.id; + d += '<li class="list-group-item" id="' + driverId + '">' + driver.name + '-' + driver.phone + '</li>'; + if('' != data1[i].lon){ + const image = { + url: "/static/icon_car@2x.png", + size: new google.maps.Size(50, 50), + origin: new google.maps.Point(16, 15), + anchor: new google.maps.Point(0, 0), + }; + const shape = { + coords: [1, 1, 1, 20, 18, 20, 18, 1], + type: "poly", + }; - var marker = new AMap.Marker({ - position: new AMap.LngLat(data[i].lon, data[i].lat), // 经纬度对象,也可以是经纬度构成的一维数组[116.39, 39.9] - offset: new AMap.Pixel(-10, -10), - icon: icon, // 添加 Icon 实例 - }); - marker.setExtData([driverId]) - marker.on('click', function(){ - Home.openNetCarInfo(this); - }); - //console.log(marker); - markers.push(marker) + markers.push( + new google.maps.Marker({ + position: { lat: parseFloat(data1[i].lat), lng: parseFloat(data1[i].lon) }, + map, + icon: image, + shape: shape, + title: driver.name + '-' + driver.phone, + zIndex: driverId, + }) + ) + } + } + + for(var i in data2){ + var driver = data2[i].driver; + var driverId = driver.id; + d += '<li class="list-group-item" id="' + driverId + '">' + driver.name + '-' + driver.phone + '</li>'; + if('' != data2[i].lon){ + const image = { + url: "/static/car.png", + size: new google.maps.Size(50, 50), + origin: new google.maps.Point(0, 0), + anchor: new google.maps.Point(0, 50), + }; + const shape = { + coords: [1, 1, 1, 20, 18, 20, 18, 1], + type: "poly", + }; + + markers.push( + new google.maps.Marker({ + position: { lat: parseFloat(data2[i].lat), lng: parseFloat(data2[i].lon) }, + map, + icon: image, + shape: shape, + title: driver.name + '-' + driver.phone, + zIndex: driverId, + }) + ) } } $('#netcardriver').html(d); - map.add(markers); //订单数据 - var privateCar=order.privateCar; var zhuanche = order.zhuanche; var kuacheng = order.kuacheng; - var chuzu = order.chuzu; - var kuahceng = order.kuahceng; var o = ''; $('#order').html(o); - console.log(order); + var zc = '<div class="list-group"><a href="#" class="list-group-item active">专车未接订单</a>' - for(var i in privateCar){ - zc += '<a href="#" class="list-group-item"><p class="list-group-item-text">起点:' + privateCar[i].start + '</p><p class="list-group-item-text">终点:' + privateCar[i].end + '</p>' + - '<p class="list-group-item-text">下单时间:' + privateCar[i].travelTime + '</p><p class="list-group-item-text">车型:' + privateCar[i].carModel + '</p>' + - '<p class="list-group-item-text">人数:' + privateCar[i].num + '</p></a>'; + for(var i in zhuanche){ + zc += '<a href="#" class="list-group-item"><p class="list-group-item-text">起点:' + zhuanche[i].startAddress + '</p><p class="list-group-item-text">终点:' + zhuanche[i].endAddress + '</p>' + + '<p class="list-group-item-text">下单时间:' + new Date(zhuanche[i].travelTime) + '</p>' + + '</a>'; } zc += '</div>'; o += zc; - var kc = '<div class="list-group"><a href="#" class="list-group-item active">跨城出行未接订单</a>' + var kc = '<div class="list-group"><a href="#" class="list-group-item active">市内小件物流未接订单</a>' for(var i in kuacheng){ - kc += '<a href="#" class="list-group-item"><p class="list-group-item-text">起点:' + kuacheng[i].start + '</p><p class="list-group-item-text">终点:' + kuacheng[i].end + '</p>' + - '<p class="list-group-item-text">下单时间:' + kuacheng[i].travelTime + '</p><p class="list-group-item-text">车型:' + kuacheng[i].carModel + '</p>' + - '<p class="list-group-item-text">人数:' + kuacheng[i].num + '</p></a>'; + kc += '<a href="#" class="list-group-item"><p class="list-group-item-text">起点:' + kuacheng[i].startAddress + '</p><p class="list-group-item-text">终点:' + kuacheng[i].endAddress + '</p>' + + '<p class="list-group-item-text">下单时间:' + new Date(kuacheng[i].travelTime) + '</p><p class="list-group-item-text">物品类型:' + kuacheng[i].cargoName + '</p>' + + '<p class="list-group-item-text">数量:' + kuacheng[i].cargoNumber + '</p></a>'; } + kc += '</div>'; o += kc; - - var cz = '<div class="list-group"><a href="#" class="list-group-item active">出租车未接订单</a>' - for(var i in chuzu){ - cz += '<a href="#" class="list-group-item"><p class="list-group-item-text">起点:' + chuzu[i].start + '</p><p class="list-group-item-text">终点:' + chuzu[i].end + '</p>' + - '<p class="list-group-item-text">下单时间:' + chuzu[i].travelTime + '</p><p class="list-group-item-text">车型:' + chuzu[i].carModel + '</p>' + - '<p class="list-group-item-text">人数:' + chuzu[i].num + '</p></a>'; - } - cz += '</div>'; - o += cz; - - var cx = '<div class="list-group"><a href="#" class="list-group-item active">城乡出行未接订单</a>' - for(var i in kuahceng){ - cx += '<a href="#" class="list-group-item"><p class="list-group-item-text">起点:' + kuahceng[i].start + '</p><p class="list-group-item-text">终点:' + kuahceng[i].end + '</p>' + - '<p class="list-group-item-text">下单时间:' + kuahceng[i].travelTime + '</p><p class="list-group-item-text">车型:' + kuahceng[i].carModel + '</p>' + - '<p class="list-group-item-text">人数:' + kuahceng[i].num + '</p></a>'; - } - cx += '</div>'; - o += cx; $('#order').html(o); } @@ -391,85 +382,20 @@ $.ajax({ url: Feng.ctxPath + '/home/getAllOrder', type: 'POST', - data: { - companyId: companyId, - uid: uid - }, success: function (res) { - var style = [{ - url: 'https://a.amap.com/jsapi_demos/static/images/mass0.png', - anchor: new AMap.Pixel(6, 6), - size: new AMap.Size(11, 11) - }, { - url: 'https://a.amap.com/jsapi_demos/static/images/mass1.png', - anchor: new AMap.Pixel(4, 4), - size: new AMap.Size(7, 7) - }, { - url: 'https://a.amap.com/jsapi_demos/static/images/mass2.png', - anchor: new AMap.Pixel(3, 3), - size: new AMap.Size(5, 5) - }]; - - var mass = new AMap.MassMarks(citys, { - opacity: 0.8, - zIndex: 111, - cursor: 'pointer', - style: style - }); - - var marker = new AMap.Marker({content: ' ', map: map_}); - - mass.on('mouseover', function (e) { - - marker.setPosition(e.data.lnglat); - marker.setLabel({content: e.data.name}) - }); - - var data = []; + clearMarkers1() for(var i in res){ - var obj = { - lnglat: [res[i].lon, res[i].lat] - } - data.push(obj); + markers2.push( + new google.maps.Marker({ + position: { lat: parseFloat(res[i].lat), lng: parseFloat(res[i].lon) }, + map: map2, + }) + ) } - mass.setData(data); - mass.setMap(map_); } }); } -//双击司机li -/*Home.dblclickDriver=function (lon,lat) { - var markerPosition = [lon,lat]; - map.panTo(markerPosition); - -}*/ -Home.dblclickDriver=function (i) { - var marker=markers[i]; - var position=[marker.w.position.lng,marker.w.position.lat]; - map.panTo(position); - var iconOld = new AMap.Icon({ - size: new AMap.Size(40, 50), // 图标尺寸 - image: '/static/car.png', // Icon的图像 - imageSize: new AMap.Size(40, 50), // 根据所设置的大小拉伸或压缩图片 - }); - var iconNew = new AMap.Icon({ - size: new AMap.Size(40, 50), // 图标尺寸 - image: '/static/car_blue.jpg', // Icon的图像 - imageSize: new AMap.Size(40, 50), // 根据所设置的大小拉伸或压缩图片 - }); - //标记当前这个的样式 - marker.setIcon(iconNew); - //还原上一个的样式 - if(typeof (mark_last) != "undefined"){ - if(mark_last!=marker){ - mark_last.setIcon(iconOld); - } - - } - //记录为最后一个标记的 - mark_last=marker; -} function getData1() { -- Gitblit v1.7.1