From a22aa1086eeef39a26cc161326ce09cd183185ea Mon Sep 17 00:00:00 2001
From: liuyg <liuyg@qq.com>
Date: Fri, 04 Mar 2022 15:57:47 +0800
Subject: [PATCH] 3.3 1.自定义标签,退出后自动清除 2.自定义标签,转换二维码的数据格式ok,移动端对接二维码ok, 3.自定义标签点击移动到指定位置 ok 4.面板自适应高度 4.更换定位依赖,自定义标签扫码入移动端可以定位并显示路线
---
src/store/modules/mobilePosition.js | 248 ++++++++++++++++++++++++++++++-------------------
1 files changed, 150 insertions(+), 98 deletions(-)
diff --git a/src/store/modules/mobilePosition.js b/src/store/modules/mobilePosition.js
index 2614eaa..a6ebee9 100644
--- a/src/store/modules/mobilePosition.js
+++ b/src/store/modules/mobilePosition.js
@@ -1,9 +1,13 @@
-import { Message } from "element-ui";
+import {
+ Message
+} from "element-ui";
// import BMap from "./mobilePositionLID";
import RemoGeoLocation from "./mobilePositionLID1";
const mobilePosition = {
- state: { getSPosition: null },
+ state: {
+ getSPosition: null
+ },
mutations: {
GET_NOWPOSITION(state, val) {
let outData =
@@ -43,70 +47,70 @@
return timeFn;
};
if (navigator.geolocation) {
- let success = function (position) {
- console.log(position);
- times(startTime);
- var lat = position.coords.latitude;
- var lon = position.coords.longitude;
- console.log("成功返回经纬度信息");
- // Message({
- // showClose: true,
- // message:
- // "成功返回经纬度信息(1)" +
- // lon +
- // "_" +
- // lat +
- // "--反应时间:" +
- // times(startTime),
- // type: "success",
- // duration: 0,
- // });
- console.log(lon, lat, "成功");
- outData([lon, lat]);
- };
- let error = function (error) {
- // console.log(error, "失败");
- outData(["失败", "失败"]);
- 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;
- }
- // Message({
- // showClose: true,
- // message:
- // "定位获取失败-msg:" +
- // msg +
- // "------" +
- // error.message +
- // "--反应时间:" +
- // times(startTime),
- // type: "error",
- // duration: 0,
- // });
- Message({
- showClose: true,
- message: "未开启位置权限",
- type: "error",
- duration: 2000,
- });
- };
- let options = {
- enableHighAccuracy: true,
- // timeout: 5000,
- timeout: Infinity,
- maximumAge: 0,
- };
+ // let success = function (position) {
+ // console.log(position);
+ // times(startTime);
+ // var lat = position.coords.latitude;
+ // var lon = position.coords.longitude;
+ // console.log("成功返回经纬度信息");
+ // // Message({
+ // // showClose: true,
+ // // message:
+ // // "成功返回经纬度信息(1)" +
+ // // lon +
+ // // "_" +
+ // // lat +
+ // // "--反应时间:" +
+ // // times(startTime),
+ // // type: "success",
+ // // duration: 0,
+ // // });
+ // console.log(lon, lat, "成功");
+ // outData([lon, lat]);
+ // };
+ // let error = function (error) {
+ // // console.log(error, "失败");
+ // outData(["失败", "失败"]);
+ // 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;
+ // }
+ // // Message({
+ // // showClose: true,
+ // // message:
+ // // "定位获取失败-msg:" +
+ // // msg +
+ // // "------" +
+ // // error.message +
+ // // "--反应时间:" +
+ // // times(startTime),
+ // // type: "error",
+ // // duration: 0,
+ // // });
+ // Message({
+ // showClose: true,
+ // message: "未开启位置权限",
+ // type: "error",
+ // duration: 2000,
+ // });
+ // };
+ // let options = {
+ // enableHighAccuracy: true,
+ // // timeout: 5000,
+ // timeout: Infinity,
+ // maximumAge: 0,
+ // };
// console.log(navigator);
// console.log(navigator.platform);
// Message({
@@ -117,30 +121,30 @@
// });
// console.log(CLLocationManager);
// return;
- if (navigator.platform === "iPhone") {
- //iphone请求权限
- // let remoGeo = new RemoGeoLocation();
- // navigator.geolocation.getCurrentPosition = function () {
- // return remoGeo.getCurrentPosition.apply(remoGeo, arguments);
- // };
- // navigator.geolocation.watchPosition = function () {
- // return remoGeo.watchPosition.apply(remoGeo, arguments);
- // };
- // Message({
- // showClose: true,
- // message: "ipone",
- // type: "error",
- // duration: 0,
- // });
- // console.log(CLLocationManager);
- // Message({
- // showClose: true,
- // message: CLLocationManager,
- // type: "error",
- // duration: 0,
- // });
- // return;
- }
+ // if (navigator.platform === "iPhone") {
+ // //iphone请求权限
+ // // let remoGeo = new RemoGeoLocation();
+ // // navigator.geolocation.getCurrentPosition = function () {
+ // // return remoGeo.getCurrentPosition.apply(remoGeo, arguments);
+ // // };
+ // // navigator.geolocation.watchPosition = function () {
+ // // return remoGeo.watchPosition.apply(remoGeo, arguments);
+ // // };
+ // // Message({
+ // // showClose: true,
+ // // message: "ipone",
+ // // type: "error",
+ // // duration: 0,
+ // // });
+ // // console.log(CLLocationManager);
+ // // Message({
+ // // showClose: true,
+ // // message: CLLocationManager,
+ // // type: "error",
+ // // duration: 0,
+ // // });
+ // // return;
+ // }
// return
// console.log(BMap);
//百度定位
@@ -184,13 +188,13 @@
// });
// return;
- //高德定位
+ // //高德定位
// 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
@@ -210,8 +214,7 @@
// console.log("成功返回经纬度信息");
// Message({
// showClose: true,
- // message:
- // "成功返回经纬度信息" +
+ // message: "成功返回经纬度信息" +
// lon +
// "_" +
// lat +
@@ -229,8 +232,7 @@
// console.log(data);
// Message({
// showClose: true,
- // message:
- // "定位获取失败-msg:" +
+ // message: "定位获取失败-msg:" +
// data.message +
// "------" +
// "--反应时间:" +
@@ -240,8 +242,58 @@
// });
// }
// });
+ window.AMap.plugin('AMap.Geolocation', function () {
+ var geolocation = new AMap.Geolocation({
+ enableHighAccuracy: true, //是否使用高精度定位,默认:true
+ // timeout: 10000, //超过10秒后停止定位,默认:5s
+ // buttonPosition: 'RB', //定位按钮的停靠位置
+ // buttonOffset: new AMap.Pixel(10, 20), //定位按钮与设置的停靠位置的偏移量,默认:Pixel(10, 20)
+ // zoomToAccuracy: true, //定位成功后是否自动调整地图视野到定位点
- // return;
+ });
+ // map.addControl(geolocation);
+ geolocation.getCurrentPosition(function (status, result) {
+ if (status == 'complete') {
+ onComplete(result)
+ } else {
+ onError(result)
+ }
+ });
+ });
+ //解析定位结果
+ function onComplete(data) {
+ // let lngLat = [data.position.lng, data.position.lat]
+ // console.log(position);
+ // times(startTime);
+ var lat = data.position.lat;
+ var lon = data.position.lng;
+ // console.log("成功返回经纬度信息");
+ // Message({
+ // showClose: true,
+ // message: "成功返回经纬度信息(1)" +
+ // lon +
+ // "_" +
+ // lat +
+ // "--反应时间:" +
+ // times(startTime),
+ // type: "success",
+ // duration: 2000,
+ // });
+ console.log(lon, lat, "成功");
+ outData([lon, lat]);
+ }
+ //解析定位错误信息
+ function onError(data) {
+ // console.log(data, "see")
+ Message({
+ showClose: true,
+ message: "未开启位置权限",
+ type: "error",
+ duration: 2000,
+ });
+ }
+
+ return;
state.getSPosition = navigator.geolocation.getCurrentPosition(
success,
error,
@@ -268,4 +320,4 @@
actions: {},
};
-export default mobilePosition;
+export default mobilePosition;
\ No newline at end of file
--
Gitblit v1.9.3