From e0f1bd3b8d1a68e0fd2f55c5fd69a04ad8fc3e86 Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Sat, 19 Feb 2022 14:15:27 +0800
Subject: [PATCH] Merge branch 'master' of http://s16s652780.51mypc.cn:49896/r/qfqk-android

---
 leafletMapOur/grabOrdersMap/js/getPosition.js |   69 +++++++++++++++++++++++++++++++---
 1 files changed, 62 insertions(+), 7 deletions(-)

diff --git a/leafletMapOur/grabOrdersMap/js/getPosition.js b/leafletMapOur/grabOrdersMap/js/getPosition.js
index 4db8328..8bcbe5b 100644
--- a/leafletMapOur/grabOrdersMap/js/getPosition.js
+++ b/leafletMapOur/grabOrdersMap/js/getPosition.js
@@ -13,7 +13,8 @@
 		this.getOnceSPosition = null;
 		this.state = false;
 		this.isContinued = false;
-		this.isContinuedTime = null;
+		this.isContinuedTimeInt = null;
+		this.isContinuedTimeOut = null;
 		return this;
 	}
 	//开始获取
@@ -27,7 +28,7 @@
 		console.log("开始持续定位")
 		let that = this;
 		this.isContinued = true;
-		if (this.isContinuedTime) {
+		if (this.isContinuedTimeInt) {
 			console.log("重复开始持续定位")
 			return;
 		} else {
@@ -36,7 +37,7 @@
 					console.log(res.intlat)
 				}
 			})
-			this.isContinuedTime = setInterval(() => {
+			this.isContinuedTimeInt = setInterval(() => {
 				that.once(function(res) {
 					if (res.state == false) {
 						console.log(res.intlat)
@@ -45,24 +46,76 @@
 			}, 5000)
 		}
 	}
+	continuedTime(val) {
+		//开始持续获取定位
+		let that = this;
+		if (val != 1) {
+			console.log("开始持续定位")
+			this.isContinued = true;
+			that.once(function(res) {
+				if (res.state == false) {
+					// console.log(res.intlat)
+					that.outData();
+				}
+			})
+			if (this.isContinuedTimeOut) {
+				console.log("重复开始持续定位")
+				return;
+			}
+		}
+		this.isContinuedTimeOut = setTimeout(() => {
+			that.once(function(res) {
+				if (res.state == false) {
+					// console.log(res.intlat)
+					that.outData();
+					if (res.ok) {
+						//返回成功
+						that.continuedTime(1);
+					} else {
+						//返回失败
+						that.continuedTime(1);
+					}
+				}
+			})
+		}, 5000)
+
+	}
 	overContinued() {
 		console.log("结束持续定位")
 		let that = this;
 		if (this.isContinued) {
 			this.isContinued = false;
-			clearInterval(that.isContinuedTime);
-			this.isContinuedTime = null;
+			if (this.isContinuedTimeInt) {
+				clearInterval(that.isContinuedTimeInt);
+				this.isContinuedTimeInt = null;
+			}
+			if (this.isContinuedTimeOut) {
+				clearTimeout(that.isContinuedTimeOut);
+				this.isContinuedTimeOut = null;
+			}
 		}
 	}
+	// overContinued() {
+	// 	console.log("结束持续定位")
+	// 	let that = this;
+	// 	if (this.isContinued) {
+	// 		this.isContinued = false;
+	// 		clearInterval(that.isContinuedTimeInt);
+	// 		this.isContinuedTimeInt = null;
+	// 	}
+	// }
 	once(fn) {
 		console.log("开始获取一次定位");
 		this.state = true;
-		let that = this,fns = '',
+		let ok = true;
+		let that = this,
+			fns = fn,
 			outit = function() {
 				if (fns) {
 					fns({
 						state: that.state,
-						intlat: that.onceNowPosition
+						intlat: that.onceNowPosition,
+						ok: ok
 					})
 				} else {
 					that.outData();
@@ -77,6 +130,7 @@
 			// console.log(lon, lat, "成功");
 			that.onceNowPosition = [lat, lon];
 			that.state = false;
+			ok = true;
 			outit();
 		};
 		let error = function(error) {
@@ -98,6 +152,7 @@
 			}
 			that.onceNowPosition = msg;
 			that.state = false;
+			ok = true;
 			outit();
 		};
 		let options = {

--
Gitblit v1.9.3