var me = new Vue({ el: '#mapVue', data: { map: null, //map getdata: null, marker: null, layuiLayer: null, nowIndex: null, LXdhStart: null, LXdhEnd: null, LxdhLine: null, activeName: 'first', // move: null, //存放移动实例 //存放实时坐标 lat: "", lng: "", seedata: '', nowPosition: '', shipingPopupShow: false, shipingM3u8Url: '', resultFeedbackPopupShow: false, popupDisplay: "none", haveShishiweizhi: 1, isFromJQ: false, chulijieguo: '', wentifankui: '', oldlat: '', oldlng: '', haveJDWD: true, // showsalffPopup: true, drawer: false, oncesSalfeData: {}, }, methods: { getDataList() { var that = this; that.beginCome(); }, beginCome() { var data = [{ "id": '100000', "place": '无数据', "state": '0', "dtype": '0', "size": '300', "jd": "114.91385", "wd": "25.81051" }] //url解码 this.getdata = this.getQueryVariable('data') || data; // console.log(this.getdata); // this.getdata = data; // this.changeDom(this.getdata[0]); // console.log(this.getdata[0]); this.map = this.beginMap(this.map, this.getdata); //创建并接受map // this.move = new myDomMove('#seedata', '.title', '#map'); this.map.invalidateSize(true); //应用地图高度 // this.move.followFinger(this.map, 'down'); // this.lat = data[0].wd; // this.lng = data[0].jd; // this.oldlat = data[0].wd; // this.oldlng = data[0].jd; // this.oldlat = this.getdata[0].wd; // this.oldlng = this.getdata[0].jd; }, // changeDom(data) { // // console.log(data, 'changeDom'); // function changeDoms(dom, item) { // $(dom).empty(); // $(dom).append(item); // } // changeDoms('#um-m-t-bz', data.bz); // changeDoms('#um-m-t-dz', data.place); // $("#um-m-t-rw").find('span:eq(0)').text(data.alarmType+"-"); // // console.log(data.jtype, data.securityId, '11111111111') // if (data.jtype == 1 && data.securityId != '') { // changeDoms('#um-m-t-states', '处理中'); // $('#jieshou').hide(); // $('#wanchen').show(); // } else if (data.jtype == 2) { // changeDoms('#um-m-t-states', '已处理'); // } else if (data.securityId == null || data.securityId == '') { // changeDoms('#um-m-t-states', '未处理'); // $('#jieshou').show(); // $('#wanchen').hide(); // } // }, //url解码 getQueryVariable(variable) { var that = this; var query = window.location.search.substring(1); var vars = query.split("&"); for (var i = 0; i < vars.length; i++) { var pair = vars[i].split("="); if (pair[0] == variable) { that.isFromJQ = true; //确认是警情进来 return JSON.parse(decodeURI(pair[1])); } //解码url 和 JSON } return (false); }, beginMap(map, data) { // console.log(data[0].latitude, data[0].longitude); // return var that = this, // center = [data[0].wd, data[0].jd], center = [data[0].latitude, data[0].longitude], url = `http://s16s652780.51mypc.cn/api/alarm/alarm/APP-getAlarm?id=${data[0].id}`; // url = `http://localhost:89/alarm/alarm/APP-getAlarm?id=${data[0].id}`; this.nowPosition = center; // axios.post(url).then((res) => { // if (res.data.data.length != 0) { // var dat = res.data.data[0]; // for (var key in dat) { // if (dat[key] == null || dat[key] == '') { // dat[key] = '暂无' // } // } // this.seedata = dat; // } else { // this.seedata = data[0]; // } // }) // console.log(L); // console.log(center); // return var createMap = () => { map = L.map('map', { //初始化地图 center: center, zoom: 20, minZoom: 2, maxZoom: 17, attributionControl: false, //去掉右下角 zoomControl: false, //去掉缩放 }); L.tileLayer( //添加切片图层 // "https://webmap-tile.sf-express.com/MapTileService/rt?x={x}&y={y}&z={z}", {//顺丰地图 "https://webmap-tile.sf-express.com/MapTileService/rt?fetchtype=static&x={x}&y={y}&z={z}&project=sfmap&pic_size=256&pic_type=png8&data_name=361100&data_format=merged-dat&data_type=normal", { //顺丰地图 } ).addTo(map); } // console.log(map) createMap(); var markers = L.markerClusterGroup(); var transportIcon = L.Icon.extend({ //图标初始化 options: { iconSize: [30, 30], // 图标尺寸 } }); var carIcon = new transportIcon({ //引入图标 iconUrl: './img/gray.png' }), planeIcon = new transportIcon({ iconUrl: './img/zd.png' }), grIcon = new transportIcon({ iconUrl: './img/green.png' }), homeIcon = new transportIcon({ iconUrl: './img/wz.png' }), busIcon = new transportIcon({ iconUrl: './img/red.png' }); var setData = (a) => { //定义图标 marker = L.marker([a.latitude, a.longitude], { icon: homeIcon, // icon: a.dtype == 0 ? carIcon : a.dtype == 1 ? planeIcon : a.dtype == 2 ? busIcon : '', // title: title, myData: { //自定义数据 ...a } }); } for (var i = 0; i < data.length; i++) { var a = data[i]; setData(a); markers.addLayer(marker); } map.addLayer(markers); var i = 0; markers.on('click', function(a) { if (i == 0) { // console.log(a.layer.options.myData); var d = a.layer.options.myData; that.oncesSalfeData = d; that.drawer = true; } else if (i == 1) { i = -1 } i++ }); // console.log(markers) this.nowPosition = center; return map; //抛出map }, Submit() { var data = this.getdata[0]; // console.log(data) // receives() {// 接受任务 var url = data.url, Pid = data.id, id = data.userid, //警察id name = data.username, //警察id datas = { id: Pid, securityId: id, alarmPeople: name }; // console.log(datas); axios({ url: url + `?securityId=${datas.securityId}&id=${datas.id}&alarmPeople=datas.alarmPeople`, // data: datas, header: { "content-type": "application/x-www-form-urlencoded" }, method: 'POST', }).then(res => { // console.log(res, 123); $('#loding').show(); var time = setTimeout(() => { $('#loding').hide(); }, 1000) $('#jieshou').hide(); $('#wanchen').show(); $('#um-m-t-states').empty(); $('#um-m-t-states').append('处理中'); }) // console.log( 123); }, // SubmitDown() { // // $('#SubmitDown').show(); // // console.log(uni.navigateTo) // uni.navigateTo({ // url: '/pages/poput/mapJQtijiao/mapJQtijiao/mapJQtijiao?id=' + this.getdata[0].id // }); // }, // SubmitSD() { // console.log(this.chulijieguo, 'chulijieguo') // console.log(this.wentifankui, 'wentifankui') // }, // showPolyLine(xy) { // var that = this; // that.LxdhLine = L.polyline(xy, { // color: 'red' // }).addTo(that.map); // // zoom the map to the polyline // that.map.fitBounds(that.LxdhLine.getBounds()) // }, //定位警情位置 // titleClick() { // this.map.setView(this.nowPosition, 20); // }, //定位当前位置 // locationMap() { // console.log([this.lat, this.lng]) // // this.map.setView([this.lat, this.lng], 20); // }, // toJQposition() { // this.map.setView([this.oldlat, this.oldlng], 20); // }, // 获取实时位置 getLocationData() { var that = this; var geolocation = new qq.maps.Geolocation("T7RBZ-62U3X-RSQ4P-ZZVCB-WE7JT-HRBOG", "mapqq"); var positionNum = 0; var options = { timeout: 1000 }; function showPosition(position) { var adCode = position.adCode; //邮政编码 var nation = position.nation; //中国 var city = position.city; //城市 var addr = position.addr; //详细地址 that.lat = position.lat; // that.lng = position.lng; //火星坐标 //TODO 实现业务代码逻辑 that.haveShishiweizhi++; //控制只执行一次 // console.log(that.haveShishiweizhi) if (that.haveShishiweizhi == 2) { // console.log(position) if (that.LXdhStart == null) { //点位 var position = [that.lat, that.lng]; //把map定位到点位上,13为地图的级别,也可以直接marker.getLatLng() that.map.setView(position, 15); } else { that.map.removeLayer(that.LXdhStart); } //绘制起点和终点 that.LXdhStart = L.markerClusterGroup(); var transportIcon = L.Icon.extend({ //图标初始化 options: { iconSize: [50, 50], // 图标尺寸 } }); var qd = new transportIcon({ iconUrl: './img/dingw.gif' }); that.LXdhStart.addLayer(L.marker([that.lat, that.lng], { icon: qd, })); if (that.haveJDWD == false) { that.map.setView([that.lat, that.lng], 20); } that.map.addLayer(that.LXdhStart); that.getDHLine(+that.oldlng, +that.oldlat) // console.log(that.lat, that.lng); // console.log(+that.oldlat, +that.oldlng); }; }; function showErr() { //TODO 如果出错了调用此方法 // console.log(15) }; geolocation.getLocation(showPosition, showErr, options); // console.log(geolocation); }, // getDHLine(x, y) { // var that = this; // //获取导航信息 // axios({ // method: "get", // url: `https://web.byisf.com/sf/rp/v2/api`, // params: { // ak: "1986afc8a5744263971b7f2482253dfc", // x1: that.lng, // y1: that.lat, // x2: x, // y2: y, // type: "1", // strategy: "0", // opt: "sf2" // }, // }).then((res) => { // if (res.data.result.coords == undefined) { // // console.log('目标太远 或不存在路径') // } else { // var resdata = res.data.result.coords; // // console.log(res) // var data = []; // for (var i = 0; i < resdata.length; i++) { // var xy = []; // xy.push(resdata[i][1]); // xy.push(resdata[i][0]); // data.push(xy); // } // // var w = resdata[0][0] - resdata[resdata.length - 1][0]; // // w = Math.abs(w); // // w = w / 0.00000899; // // w = w.toFixed(2); // // console.log(w); // $('#t-mi').empty(); // $('#t-mi').append(res.data.result.dist + '米'); // $('#t-fz').empty(); // $('#t-fz').append(res.data.result.flen + '分钟'); // if (that.LXdhEnd != null) { // that.map.removeLayer(that.LXdhEnd); // } // if (that.LxdhLine != null) { // that.map.removeLayer(that.LxdhLine); // } // //绘制起点和终点 // that.LXdhEnd = L.markerClusterGroup(); // var transportIcon = L.Icon.extend({ //图标初始化 // options: { // iconSize: [56, 32], // 图标尺寸 // } // }); // var zd = new transportIcon({ // iconUrl: './img/zd2.png' // }); // // var qd = new transportIcon({ // // iconUrl: './img/qd.png' // // }); // var qdzb = res.data.result.query; // var x = resdata[resdata.length - 1][0]; // var y = resdata[resdata.length - 1][1]; // // that.LXdhEnd.addLayer(L.marker([y, x], {//不要图标 // // icon: zd, // // })); // // markers.addLayer(L.marker([qdzb.start.y, qdzb.start.x], { // // icon: qd, // // })); // that.map.addLayer(that.LXdhEnd); // that.showPolyLine(data); // } // }); // }, // showPolyLine(xy) { // var that = this; // that.LxdhLine = L.polyline(xy, { // color: '#169BD5' // }).addTo(that.map); // that.map.fitBounds(that.LxdhLine.getBounds()) // }, refreshMap() { console.log('shuaxin') }, }, // created() {}, mounted() { this.getDataList(); // var time = setInterval(() => { // if (this.haveShishiweizhi == 1) { // this.getLocationData(); // // console.log(this.haveShishiweizhi) // } else if (this.haveShishiweizhi == 2) { // clearInterval(time); // time = null; // } // }, 3000) }, wacth: {} })