From 59c99660816a0833f74ff1162b47bbf05d6805b5 Mon Sep 17 00:00:00 2001
From: YYC <1833023622@qq.com>
Date: 星期二, 03 三月 2026 15:23:15 +0800
Subject: [PATCH] APP功能修改

---
 igdss-app/js/admin/security-patrol.js |  147 +++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 129 insertions(+), 18 deletions(-)

diff --git a/igdss-app/js/admin/security-patrol.js b/igdss-app/js/admin/security-patrol.js
index 75b4969..6ac3f02 100644
--- a/igdss-app/js/admin/security-patrol.js
+++ b/igdss-app/js/admin/security-patrol.js
@@ -4,12 +4,14 @@
 var PatrolList = null;
 var ImgFile = null;
 var dateTime;
-var longitude; //鐧惧害鍦板浘(BD-09)缁忓害
-var latitude; //鐧惧害鍦板浘(BD-09)绾害
-var x_pi = 3.14159265358979324 * 3000.0 / 180.0;
-var pi = 3.1415926535897932384626;
-var a = 6378245.0;
-var ee = 0.00669342162296594323;
+var longitude; //楂樺痉鍦板浘(GCJ-02)缁忓害
+var latitude; //楂樺痉鍦板浘(GCJ-02)绾害
+var X_PI = 3.1415926535897932384626 * 3000.0 / 180.0;
+// 瀹氫箟甯搁噺
+var PI = 3.1415926535897932384626;
+var AXIS = 6378245.0;  // 鍦扮悆闀垮崐杞�
+var OFFSET = 0.00669342162296594323;  // 鎵佺巼
+
 //鐢靛瓙宸℃洿璁板綍
 var data = {
 	"interfaceId": "5105",
@@ -64,7 +66,7 @@
 	data1.data.deptId = deptId;
 	dateTime = getDate(new Date())
 	document.getElementById("date").value = dateTime;
-	if(user.userType == "10"){
+	if(user.userType != "30"){
 		document.getElementById('cameraImgBtn').remove();
 	}
 	//鑾峰彇宸℃洿璁板綍
@@ -156,12 +158,8 @@
 				'</div></div></div></div></div></li>'
 		})
 	} else {
-		html += '<li><div class="item"><div class="top">'
-		html += '<div class="date">鏆傛棤宸℃洿璁板綍</div><div class="r-btn" id = "0">鏌ョ湅鐓х墖</div></div>';
-		html += '<div class="cards"><div class="cd"><div class="con user">'
-		html += '<div class="tit">鎵撳崱浜�</div><div class="txt">--</div></div></div>';
-		html += '<div class="cd"><div class="con loc"><div class="tit">鍧愭爣</div>'
-		html += '<div class="txt">0, 0</div></div></div></div></div></li>'
+		html +=
+			'<li><div class="item"><div style="text-align: center;font-size: 20px;color:#dd524d;padding-top: 16px;">鏆傛棤宸℃璁板綍淇℃伅</div></div></li>';
 	}
 	$("#recordList").html(html)
 }
@@ -301,6 +299,7 @@
 }
 
 // function getLatLon() {
+// 	console.log("2")
 // 	plus.geolocation.getCurrentPosition(function(position) {
 // 		longitude = position.coords.longitude; // 缁忓害
 // 		latitude = position.coords.latitude; // 绾害
@@ -317,20 +316,19 @@
 function getLatLon() {
 	plus.geolocation.getCurrentPosition(showLocation, function(e) {
 		mui.alert("鑾峰彇瀹氫綅淇℃伅澶辫触锛岃鍏堟墦寮�瀹氫綅寮�鍏筹紒", '鎻愮ず', ["纭畾"], function() {}, "div");
-	}, {
-		geocode: true
-	});
+	},{ geocode: false});
+	
 }
 
 //澶勭悊瀹氫綅鍚庣殑淇℃伅
 function showLocation(r) {
 	var bd09 = "";
-	if (r.coordsType == 'gcj02') {
+	if (r.coordsType == 'bd09') {
 		//鍥芥祴灞�鍧愭爣杞櫨搴﹀潗鏍�
 		bd09 = gcj02_To_Bd09(r.coords.longitude, r.coords.latitude);
 	} else if (r.coordsType == 'wgs84') {
 		//wgs84杞櫨搴﹀潗鏍�
-		bd09 = wgs84_To_Bd09(r.coords.longitude, r.coords.latitude);
+		bd09 = wgs84_To_Gcj02(r.coords.longitude, r.coords.latitude);
 	} else {
 		bd09 = r.coords.longitude + "," + r.coords.latitude
 	}
@@ -384,4 +382,117 @@
 	ret += (20.0 * Math.sin(lon * pi) + 40.0 * Math.sin(lon / 3.0 * pi)) * 2.0 / 3.0;
 	ret += (150.0 * Math.sin(lon / 12.0 * pi) + 300.0 * Math.sin(lon / 30.0 * pi)) * 2.0 / 3.0;
 	return ret;
+}
+
+//鑾峰彇瀹氫綅
+function getLatLon() {
+	plus.geolocation.getCurrentPosition(showLocation, function(e) {
+		mui.alert("鑾峰彇瀹氫綅淇℃伅澶辫触锛岃鍏堟墦寮�瀹氫綅寮�鍏筹紒", '鎻愮ず', ["纭畾"], function() {}, "div");
+	},{ geocode: false});
+	
+}
+
+//澶勭悊瀹氫綅鍚庣殑淇℃伅
+function showLocation(r) {
+	console.log(r.coordsType)
+	var gcj02 = "";
+	if (r.coordsType == 'bd09') {
+		//鍥芥祴灞�鍧愭爣杞櫨搴﹀潗鏍�
+		gcj02 = bd09_To_Gcj02(r.coords.longitude, r.coords.latitude);
+	} else if (r.coordsType == 'wgs84') {
+		//wgs84杞櫨搴﹀潗鏍�
+		gcj02 = wgs84_To_Gcj02(r.coords.longitude, r.coords.latitude);
+	} else {
+		gcj02 = r.coords.longitude + "," + r.coords.latitude
+	}
+	var location = gcj02.split(",");
+	longitude = location[0];
+	latitude = location[1];
+}
+
+/**
+ * WGS84杞珿CJ02锛圙PS鍧愭爣杞伀鏄熷潗鏍囷級
+ * @param {number} lng - WGS84缁忓害
+ * @param {number} lat - WGS84绾害
+ * @returns {Object} 鍖呭惈lng, lat鐨凣CJ02鍧愭爣
+ */
+function wgs84_To_Gcj02(lng, lat) {
+    if (outOfChina(lng, lat)) {
+        return { lng, lat };
+    }
+    
+    var dLat = transformLat(lng - 105.0, lat - 35.0);
+    var dLng = transformLng(lng - 105.0, lat - 35.0);
+    
+    var radLat = lat / 180.0 * PI;
+    var magic = Math.sin(radLat);
+    magic = 1 - OFFSET * magic * magic;
+    
+    var sqrtMagic = Math.sqrt(magic);
+    dLat = (dLat * 180.0) / ((AXIS * (1 - OFFSET)) / (magic * sqrtMagic) * PI);
+    dLng = (dLng * 180.0) / (AXIS / sqrtMagic * Math.cos(radLat) * PI);
+    
+    var mgLat = lat + dLat;
+    var mgLng = lng + dLng;
+    
+    return  mgLng+","+ mgLat;
+}
+
+/**
+ * 鍒ゆ柇鍧愭爣鏄惁鍦ㄤ腑鍥戒箣澶�
+ */
+function outOfChina(lng, lat) {
+    return lng < 72.004 || lng > 137.8347 || lat < 0.8293 || lat > 55.8271;
+}
+
+/**
+ * 绾害杞崲
+ */
+function transformLat(lng, lat) {
+    let ret = -100.0 + 2.0 * lng + 3.0 * lat + 0.2 * lat * lat + 
+              0.1 * lng * lat + 0.2 * Math.sqrt(Math.abs(lng));
+    
+    ret += (20.0 * Math.sin(6.0 * lng * PI) + 20.0 * 
+           Math.sin(2.0 * lng * PI)) * 2.0 / 3.0;
+    ret += (20.0 * Math.sin(lat * PI) + 40.0 * 
+           Math.sin(lat / 3.0 * PI)) * 2.0 / 3.0;
+    ret += (160.0 * Math.sin(lat / 12.0 * PI) + 320 * 
+           Math.sin(lat * PI / 30.0)) * 2.0 / 3.0;
+    
+    return ret;
+}
+
+/**
+ * 缁忓害杞崲
+ */
+function transformLng(lng, lat) {
+    var ret = 300.0 + lng + 2.0 * lat + 0.1 * lng * lng + 
+              0.1 * lng * lat + 0.1 * Math.sqrt(Math.abs(lng));
+    
+    ret += (20.0 * Math.sin(6.0 * lng * PI) + 20.0 * 
+           Math.sin(2.0 * lng * PI)) * 2.0 / 3.0;
+    ret += (20.0 * Math.sin(lng * PI) + 40.0 * 
+           Math.sin(lng / 3.0 * PI)) * 2.0 / 3.0;
+    ret += (150.0 * Math.sin(lng / 12.0 * PI) + 300.0 * 
+           Math.sin(lng / 30.0 * PI)) * 2.0 / 3.0;
+    
+    return ret;
+}
+
+/**
+ * BD-09 杞� GCJ-02锛堢櫨搴﹀潗鏍囪浆鐏槦鍧愭爣锛�
+ * @param {number} bdLng - 鐧惧害缁忓害
+ * @param {number} bdLat - 鐧惧害绾害
+ * @returns {Object} 鍖呭惈lng, lat鐨凣CJ-02鍧愭爣
+ */
+function bd09_To_Gcj02(bdLng, bdLat) {
+    var x = bdLng - 0.0065;
+    var y = bdLat - 0.006;
+    var z = Math.sqrt(x * x + y * y) - 0.00002 * Math.sin(y * X_PI);
+    var theta = Math.atan2(y, x) - 0.000003 * Math.cos(x * X_PI);
+    
+    var gcjLng = z * Math.cos(theta);
+    var gcjLat = z * Math.sin(theta);
+    
+    return  gcjLng+","+ gcjLat ;
 }
\ No newline at end of file

--
Gitblit v1.9.3