From e3be7edc5564f1723b87ec82442a3877be894c22 Mon Sep 17 00:00:00 2001
From: liuyg <376836862@qq.com>
Date: Fri, 02 Jul 2021 19:04:32 +0800
Subject: [PATCH] +

---
 xcxMapJQLG/js/vueMain.js |  336 +++++++++++++++++++++++++++++++-------------------------
 1 files changed, 186 insertions(+), 150 deletions(-)

diff --git a/xcxMapJQLG/js/vueMain.js b/xcxMapJQLG/js/vueMain.js
index 8ffeb42..91b99d6 100644
--- a/xcxMapJQLG/js/vueMain.js
+++ b/xcxMapJQLG/js/vueMain.js
@@ -24,6 +24,14 @@
 		shipingM3u8Url: '',
 		resultFeedbackPopupShow: false,
 		popupDisplay: "none",
+
+		haveShishiweizhi: 1,
+		isFromJQ: false,
+		chulijieguo: '',
+		wentifankui: '',
+		oldlat: '',
+		oldlng: '',
+
 	},
 	methods: {
 		getDataList() {
@@ -37,26 +45,58 @@
 				"state": '0',
 				"dtype": '0',
 				"size": '300',
-				"jd": "115.822311",
-				"wd": "28.646341"
+				"jd": "114.91385",
+				"wd": "25.81051"
 			}]
 			//url解码
-			// this.getdata = this.getQueryVariable('data') || data;
-			this.getdata = data;
+			this.getdata = this.getQueryVariable('data') || data;
+			// this.getdata = data;
+			this.changeDom(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;
+		},
+		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);
+			// console.log(data.jtype, data.securityId, '11111111111')
+			if (data.jtype == 2) {
+				changeDoms('#um-m-t-states', '已处理');
+
+			} else if (data.jtype == 1) {
+				changeDoms('#um-m-t-states', '处理中');
+				$('#jieshou').hide();
+				$('#wanchen').show();
+			} else {
+				changeDoms('#um-m-t-states', '未处理');
+				$('#jieshou').show();
+				$('#wanchen').hide();
+			}
+			// if (this.isFromJQ == false) {
+			// 	$('#wanchen').show();
+			// }
+
 		},
 		//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
 			}
@@ -103,14 +143,14 @@
 
 			var transportIcon = L.Icon.extend({ //图标初始化
 				options: {
-					iconSize: [30, 30], // 图标尺寸
+					iconSize: [50, 30], // 图标尺寸
 				}
 			});
 			var carIcon = new transportIcon({ //引入图标
 					iconUrl: './img/gray.png'
 				}),
 				planeIcon = new transportIcon({
-					iconUrl: './img/green.png'
+					iconUrl: './img/zd.png'
 				}),
 				busIcon = new transportIcon({
 					iconUrl: './img/red.png'
@@ -131,7 +171,6 @@
 					console.log('没有坐标', i)
 				} else {
 					setData(a);
-					that.getDHLine(a.jd, a.wd);
 				}
 				markers.addLayer(marker);
 			}
@@ -140,26 +179,116 @@
 			markers.on('click', function(a) {
 				if (i == 0) {
 
-
-					
 					console.log(that.getdata)
 
-
-					i = 1
 				} else if (i == 1) {
-					i = 0
+					i = -1
 				}
+				i++
 			});
-			console.log(markers)
+			// console.log(markers)
 			this.nowPosition = center;
 			return map; //抛出map
 		},
-		Submit(){
-			this.$message({
-				message: '恭喜你,这是一条成功消息',
-				type: 'success',
-				center: true
-			});
+		Submit() {
+			$('#loding').show();
+			var time = setTimeout(() => {
+				$('#loding').hide();
+			}, 2000)
+
+		},
+		SubmitDown() {
+			$('#SubmitDown').show();
+		},
+		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);
+			this.getLocationData();
+		},
+		// 获取实时位置
+		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,
+					}));
+
+					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) {
 
@@ -180,17 +309,28 @@
 					opt: "sf2"
 				},
 			}).then((res) => {
-				var resdata = res.data.result.coords;
-				var err = res.data.result.err;
-				var data = [];
-				// console.log(err)
-				if (!err) {
+				if (res.data.result.coords == undefined) {
+					console.log('目标太远 或不存在路径')
+				} else {
+
+					var resdata = res.data.result.coords;
+					console.log(resdata)
+					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(w + '米');
+					$('#t-fz').empty();
+					$('#t-fz').append(w / 30 + '分钟');
 
 					if (that.LXdhEnd != null) {
 						that.map.removeLayer(that.LXdhEnd);
@@ -209,7 +349,7 @@
 					});
 
 					var zd = new transportIcon({
-						iconUrl: './img/zd.png'
+						iconUrl: './img/zd2.png'
 					});
 					// var qd = new transportIcon({
 					// 	iconUrl: './img/qd.png'
@@ -220,9 +360,9 @@
 					var x = resdata[resdata.length - 1][0];
 					var y = resdata[resdata.length - 1][1];
 
-					that.LXdhEnd.addLayer(L.marker([y, x], {
-						icon: zd,
-					}));
+					// that.LXdhEnd.addLayer(L.marker([y, x], {//不要图标
+					// 	icon: zd,
+					// }));
 					// markers.addLayer(L.marker([qdzb.start.y, qdzb.start.x], {
 					// 	icon: qd,
 					// }));
@@ -230,142 +370,38 @@
 					that.map.addLayer(that.LXdhEnd);
 
 					that.showPolyLine(data);
-				} else {
-					console.log('请求位置出错');
 				}
 			});
 		},
 		showPolyLine(xy) {
 			var that = this;
 			that.LxdhLine = L.polyline(xy, {
-				color: 'red'
+				color: '#169BD5'
 			}).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);
+		refreshMap() {
+			console.log('shuaxin')
+
 		},
-		shipingClick(open) { //打开视频
-			if (open) {
-				this.openRealVideoBox(this.seedata.serialNumber, this.seedata.channelNumber, this.seedata
-					.deviceNumber, this.seedata.manufacturer);
-			} else {
-				this.shipingPopupShow = false;
-			}
-		},
-		resultFeedbackClick() { //结果反馈跳转小程序
-			uni.webView.navigateTo({
-				url: `../poput/workbench/policeDetails/policeDetails?id=${this.seedata.id}`
-			});
-		},
-		openRealVideoBox(serialNumber, channelNumber, deviceNumber, manufacturer) { //获取视频地址
-			var that = this;
-			if (manufacturer == "HK") {
-				axios
-					.get(
-						`/api/equipment/equipment/selectEquimentPlayInfo?number=${deviceNumber}&bmp=m3u8&manufacturer=${manufacturer}`
-					)
-					.then((result) => {
-						that.videoSource = result.data.data.address;
-						that.shipingM3u8Url = decodeURIComponent(that.videoSource);
-						that.shipingPopupShow = true;
-					})
-					.ce;
-			} else {
-				var newAxios = axios.create({
-					baseURL: "https://web.byisf.com:18000",
-					withCredentials: false,
-					headers: {
-						"Content-type": "application/x-www-form-urlencoded",
-					},
-				});
-				newAxios
-					.post(
-						"/api_control", {}, {
-							params: {
-								param: JSON.stringify({
-									PktType: "GetAccessToken"
-								}),
-							},
-						}
-					)
-					.then((res) => {
-						newAxios
-							.get(
-								`https://web.byisf.com:18000/GetPlayUrl?deviceCode=${serialNumber}&chl=${channelNumber}`
-							)
-							.then((result) => {
-								that.videoSource = result.data.data.m3u8;
-								that.shipingM3u8Url = decodeURIComponent(that.videoSource);
-								that.shipingPopupShow = true;
-							});
-					});
-			}
-		},
-		upData() {
-			console.log('上传信息成功')
-		},
-		getLocationData() {
-			var that = this;
-			var geolocation = new qq.maps.Geolocation("T7RBZ-62U3X-RSQ4P-ZZVCB-WE7JT-HRBOG", "mapqq");
-			var positionNum = 0;
-			var options = {
-				timeout: 8000
-			};
-
-			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 实现业务代码逻辑 
-				console.log(position, 1111)
-				if (that.LXdhStart != null) {
-					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,
-				}));
-
-				that.map.addLayer(that.LXdhStart);
-
-			};
-
-			function showErr() {
-				//TODO 如果出错了调用此方法 
-			};
-
-			geolocation.getLocation(showPosition, showErr, options);
-		},
-
+		// resultFeedbackClick() { //结果反馈跳转小程序
+		// 	uni.webView.navigateTo({
+		// 		url: `../poput/workbench/policeDetails/policeDetails?id=${this.seedata.id}`
+		// 	});
 	},
 	created() {},
 	mounted() {
 		this.getDataList();
-		this.getLocationData();
+		var time = setInterval(() => {
+			if (this.haveShishiweizhi == 1) {
+				this.getLocationData();
+				console.log(this.haveShishiweizhi)
+
+			} else if (this.haveShishiweizhi == 2) {
+				clearInterval(time);
+				time = null;
+			}
+		}, 3000)
 	},
 	wacth: {}
 })

--
Gitblit v1.9.3