From c6bc487ee4bda719081c46a3b1e66acf17ea9c13 Mon Sep 17 00:00:00 2001
From: liuyg <liuyg@qq.com>
Date: Tue, 22 Feb 2022 10:52:32 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.105:10010/r/qfqk-android
---
leafletMapOur/grabOrdersMap/js/getPosition.js | 171 +++++++++++++++++++++++++++++++++------------------------
1 files changed, 99 insertions(+), 72 deletions(-)
diff --git a/leafletMapOur/grabOrdersMap/js/getPosition.js b/leafletMapOur/grabOrdersMap/js/getPosition.js
index 8bcbe5b..8746a6a 100644
--- a/leafletMapOur/grabOrdersMap/js/getPosition.js
+++ b/leafletMapOur/grabOrdersMap/js/getPosition.js
@@ -1,3 +1,4 @@
+
class $getPositions {
constructor(arg) {
this.id = arg.id || 0; //任务id
@@ -50,7 +51,7 @@
//开始持续获取定位
let that = this;
if (val != 1) {
- console.log("开始持续定位")
+ // console.log(that.id,"开始持续定位")
this.isContinued = true;
that.once(function(res) {
if (res.state == false) {
@@ -59,7 +60,7 @@
}
})
if (this.isContinuedTimeOut) {
- console.log("重复开始持续定位")
+ // console.log("重复开始持续定位")
return;
}
}
@@ -77,11 +78,11 @@
}
}
})
- }, 5000)
+ }, 3000)
}
overContinued() {
- console.log("结束持续定位")
+ // console.log("结束持续定位")
let that = this;
if (this.isContinued) {
this.isContinued = false;
@@ -94,22 +95,15 @@
this.isContinuedTimeOut = null;
}
}
+ this.isContinued = false;
+ that.outData('out');
}
- // overContinued() {
- // console.log("结束持续定位")
- // let that = this;
- // if (this.isContinued) {
- // this.isContinued = false;
- // clearInterval(that.isContinuedTimeInt);
- // this.isContinuedTimeInt = null;
- // }
- // }
once(fn) {
- console.log("开始获取一次定位");
+ // console.log("开始获取一次定位");
this.state = true;
let ok = true;
let that = this,
- fns = fn,
+ fns = fn || '',
outit = function() {
if (fns) {
fns({
@@ -122,61 +116,44 @@
}
};
outit();
- let success = function(position) {
- // console.log(position);
- var lat = position.coords.latitude;
- var lon = position.coords.longitude;
- // console.log("成功返回经纬度信息");
- // console.log(lon, lat, "成功");
- that.onceNowPosition = [lat, lon];
+ //qq定位
+ var geolocation = new qq.maps.Geolocation("T7RBZ-62U3X-RSQ4P-ZZVCB-WE7JT-HRBOG", "mapqq");
+ var options = {
+ // timeout: 1000
+ };
+
+ function showPosition(position) {
+ let lat = position.lat; //
+ let lng = position.lng; //火星坐标 //TODO 实现业务代码逻辑
+ that.onceNowPosition = [lng, lat];
+ // console.log(that.onceNowPosition)
+ that.state = false;
+ ok = true;
+ outit();
+ }
+
+ function showErr(data) {
+ console.log(data)
+ that.onceNowPosition = data;
that.state = false;
ok = true;
outit();
};
- let error = function(error) {
- // console.log(error, "失败");
- let msg = "none";
- switch (error.code) {
- case error.PERMISSION_DENIED:
- msg = "User denied the request for Geolocation.";
- break;
- case error.POSITION_UNAVAILABLE:
- msg = "Location information is unavailable.";
- break;
- case error.TIMEOUT:
- msg = "The request to get user location timed out.";
- break;
- case error.UNKNOWN_ERROR:
- msg = "An unknown error occurred.";
- break;
- }
- that.onceNowPosition = msg;
- that.state = false;
- ok = true;
- outit();
- };
- let options = {
- enableHighAccuracy: true,
- // timeout: 5000,
- timeout: Infinity,
- maximumAge: 0,
- };
- this.getOnceSPosition = navigator.geolocation.getCurrentPosition(
- success,
- error,
- options
- );
- //高德定位
- // console.log("开始获取一次定位");
- // this.state = true;
- // let that = this;
- // that.outData();
+ geolocation.getLocation(showPosition, showErr, options);
+ // 高德定位
+ // console.log(AMap)
// AMap.plugin("AMap.Geolocation", function() {
// var geolocation = new AMap.Geolocation({
// // 是否使用高精度定位,默认:true
// enableHighAccuracy: true,
// // 设置定位超时时间,默认:无穷大
- // // timeout: 10000,
+ // timeout: 10000,
+ // // 定位按钮的停靠位置的偏移量,默认:Pixel(10, 20)
+ // // buttonOffset: new AMap.Pixel(10, 20),
+ // // 定位成功后调整地图视野范围使定位位置及精度范围视野内可见,默认:false
+ // // zoomToAccuracy: true,
+ // // 定位按钮的排放位置, RB表示右下
+ // // buttonPosition: "RB",
// });
// geolocation.getCurrentPosition();
// AMap.event.addListener(geolocation, "complete", onComplete);
@@ -184,35 +161,85 @@
// function onComplete(data) {
// // data是具体的定位信息
- // // console.log(data);
+ // console.log(data);
// var lat = data.position.lat;
// var lon = data.position.lng;
- // // console.log("成功返回经纬度信息");
- // // console.log(lon, lat, "成功");
- // that.onceNowPosition = [lon, lat];
- // this.state = false;
- // that.outData();
+ // that.onceNowPosition = [lat, lon];
+ // that.state = false;
+ // ok = true;
+ // outit();
// }
// function onError(data) {
// // 定位出错
- // // console.log(data);
- // that.onceNowPosition = data;
- // this.state = false;
- // that.outData();
+ // console.log(data);
+ // that.onceNowPosition = data.message;
+ // that.state = false;
+ // ok = false;
+ // outit();
// }
// });
+ // return
+ // let success = function(position) {
+ // // console.log(position);
+ // var lat = position.coords.longitude; //经度
+ // var lon = position.coords.latitude; //纬度
+ // // console.log("成功返回经纬度信息");
+ // // console.log(lon, lat, "成功");
+ // that.onceNowPosition = [lat, lon];
+ // that.state = false;
+ // ok = true;
+ // outit();
+ // };
+ // let error = function(error) {
+ // // console.log(error, "失败");
+ // let msg = "none";
+ // switch (error.code) {
+ // case error.PERMISSION_DENIED:
+ // msg = "User denied the request for Geolocation.";
+ // break;
+ // case error.POSITION_UNAVAILABLE:
+ // msg = "Location information is unavailable.";
+ // break;
+ // case error.TIMEOUT:
+ // msg = "The request to get user location timed out.";
+ // break;
+ // case error.UNKNOWN_ERROR:
+ // msg = "An unknown error occurred.";
+ // break;
+ // }
+ // that.onceNowPosition = msg;
+ // that.state = false;
+ // ok = false;
+ // outit();
+ // };
+ // let options = {
+ // enableHighAccuracy: true,
+ // // timeout: 5000,
+ // timeout: Infinity,
+ // maximumAge: 0,
+ // };
+ // this.getOnceSPosition = navigator.geolocation.getCurrentPosition(
+ // success,
+ // error,
+ // options
+ // );
}
//结束获取
outInit() {
}
//抛出数据
- outData() {
+ outData(val) {
let d = {
state: this.state,
intlat: this.onceNowPosition
}
+ if (val) {
+ d[val] = val
+ }
this.fn(d)
}
}
+
+// export default $getPositions;
--
Gitblit v1.9.3