var ArrayCar = ["861584040006273", "861584040006216", "861584040006299", "861584040006224", "861584040006257", "861584040006232", "861584040006208", "861584040006265", "861584040006240"]; var ArrayName = ["新NA1F99", "新X5825", "新X5827", "新X5829", "新X5813", "新X1204", "新X5826", "新X5850", "新X5824"]; var map, temp; var pointArr = [], pointStateArr = [], carIcon = ""; $(function () { map = new BMap.Map("allmap"); // 创建Map实例 map.centerAndZoom(new BMap.Point(80.274413, 41.179264), 14); // 初始化地图,设置中心点坐标和地图级别 //添加地图类型控件 map.addControl(new BMap.MapTypeControl({ mapTypes: [ BMAP_NORMAL_MAP, BMAP_HYBRID_MAP ] })); var convertor = new BMap.Convertor(); // var pointArr = []; map.setCurrentCity("阿克苏地区"); // 设置地图显示的城市 此项是必须设置的 map.enableScrollWheelZoom(true); //开启鼠标滚轮缩放 //开始获取接口 var timestamp1 = new Date().getTime(); var securityKey = 'RTcunWv#BVhi'; var signCar = sha1(timestamp1.toString() + securityKey); var msgId = generateUUID(); for (var i = 0; i < ArrayCar.length; i++) { temp = ArrayCar[i]; $.ajax({ type: "GET", url: "nginx/api/v0/terminals/" + ArrayCar[i] + "/realtime?timestamp=" + timestamp1 + "&sign=" + signCar, async:false, headers: { "sysCode": "30001", "from": "OTHER", "Content-Type": "application/json", "msgId": msgId.toString() }, success: function (result) { //alert(result.longitude+"@"+ result.latitude); //地图加载车辆位置 var point = new BMap.Point(result.longitude, result.latitude); pointArr.push(point); pointStateArr.push(result.runStatus); //坐标转换 // var myIcon = new BMap.Icon("../../images/firecar.png", new BMap.Size(40, 40), { imageSize: new BMap.Size(40, 40) }); // var marker = new BMap.Marker(point, { icon: myIcon }); // 创建标注 // marker.code = ArrayCar[i]; // map.addOverlay(marker); // RightClickMaker(marker); }, error: function (err) { console.log(err); } }); } convertor.translate(pointArr, 1, 5, translateCallback); setInterval(function () { convertor.translate(pointArr, 1, 5, translateCallback); },30000) }); //坐标转换后进行渲染 translateCallback = function (data) { //console.log(data); if (data.status === 0) { map.clearOverlays(); for (var i = 0; i < data.points.length; i++) { //var marker = new BMap.Marker(data.points[0]); if (pointStateArr[i] == "STARTED") { carIcon = "../../images/firecarstart.png" } else { carIcon = "../../images/firecarstop.png" } var myIcon = new BMap.Icon(carIcon, new BMap.Size(40, 40), { imageSize: new BMap.Size(40, 40) }); var marker = new BMap.Marker(data.points[i], { icon: myIcon }); // 创建标注 //marker.code = ArrayCar[i]; map.addOverlay(marker); marker.id = { NAME: ArrayName[i], TYPE: 7, IMEI: ArrayCar[i] }; marker.addEventListener("click", function (e) { //position(this.id[0], this.id[1]); position(this); }); marker.customData = { "runStatus": pointStateArr[i] }; RightClickMaker(marker); } } } //定位并弹窗 position = function (marker) { var type = marker.id.TYPE; console.log(type); var strhtml = "" var name = "名称:"; if (type == "1") { url = "../../ashx/FirePoolHandler.ashx"; action = ""; } else if (type == "2") { url = "../../ashx/FirePoolHandler.ashx"; action = ""; strhtml += "

" + marker.id.ADDR + "

" strhtml += "

水量:7000m³

"; } else if (type == "3") { url = "../../ashx/FirePoolHandler.ashx"; action = ""; strhtml += "

" + marker.id.ADDR + "

" strhtml += "

水量:10000m³

"; } else if (type == "4") { } else if (type == "5") { strhtml += "

" + marker.id.ADDR + "

" strhtml += "

水压:0.45Mpa

"; } else if (type == "6") { strhtml += "

" + marker.id.ADDR + "

" strhtml += "

水压:0.45Mpa

"; } else if (type == "7") { $.ajax({ type: "post", url: "../../ashx/ZYCarHandler.ashx", data: { Action: "CarNumGetModel", CARNUM: marker.id.NAME }, dataType: "json", success: function (result) { console.log(result); //var className = result.data.CLASS == "0" ? "公务用车" : (result.data.CLASS == "1"?"执勤车辆":"地方车辆") strhtml += "

车辆名称:" + result.data.CAR_NAME + "

"; strhtml += "

车辆类型:" + result.data.TYPE + "

"; strhtml += "

车辆详情:" + result.data.REMARKS + "

"; // 添加图文组合的信息窗口 console.log(result.data.CAR_NUM); var sContent = "

车牌:" + result.data.CAR_NUM + "

" + "
" + strhtml + "
"; var infoWindow = new BMap.InfoWindow(sContent); // 创建信息窗口对象 marker.openInfoWindow(infoWindow); }, error: function (e){ console.log(e); // 添加图文组合的信息窗口 var sContent = "

车牌:" + marker.id.NAME + "

"; var infoWindow = new BMap.InfoWindow(sContent); // 创建信息窗口对象 marker.openInfoWindow(infoWindow); } }); } } //地图右键菜单 function RightClickMaker(marker) { var markerMenu = new BMap.ContextMenu(); markerMenu.addItem(new BMap.MenuItem('视频查看', VideoRealPlay.bind(marker))); markerMenu.addItem(new BMap.MenuItem('轨迹查看', TrackPlayback.bind(marker))); marker.addContextMenu(markerMenu); //给标记添加右键菜单 } var VideoRealPlay = function (e, ee, marker) {//右键查看视频 window.open('MapVideoRealPlay.html?imei=' + marker.id.IMEI, '实时视频', 'height=800, width=1500, top=100, left=200, toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, status=no'); } var TrackPlayback = function (e, ee, marker) {//右键查看轨迹 window.open('MapTrajectory.html?name=' + encodeURI(marker.id.NAME) + '&imei=' + marker.id.IMEI, '轨迹回放', 'height=800, width=1500, top=100, left=200, toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, status=no'); }