智慧农业大数据平台
guanqp
2022-07-19 2d4afa25d167bc158b6ca4fb3a5d09dec1f0ec6e
src/store/modules/mobilePosition copy.js
@@ -1,117 +1,117 @@
import { Message } from "element-ui";
import { Message } from 'element-ui'
// import BMap from "./mobilePositionLID";
import RemoGeoLocation from "./mobilePositionLID1";
import RemoGeoLocation from './mobilePositionLID1'
const mobilePosition = {
  state: { getSPosition: null },
  mutations: {
    GET_NOWPOSITION(state, val) {
      let outData =
    GET_NOWPOSITION (state, val) {
      const outData =
        val ||
        function (res) {
          console.log(res);
        };
      let startTime = new Date().getTime(),
        endTime;
      console.log(startTime, "startTime");
      let times = (dateBegin) => {
        var dateDiff = new Date().getTime() - dateBegin; //时间差的毫秒数
        var dayDiff = Math.floor(dateDiff / (24 * 3600 * 1000)); //计算出相差天数
        var leave1 = dateDiff % (24 * 3600 * 1000); //计算天数后剩余的毫秒数
        var hours = Math.floor(leave1 / (3600 * 1000)); //计算出小时数
        //计算相差分钟数
        var leave2 = leave1 % (3600 * 1000); //计算小时数后剩余的毫秒数
        var minutes = Math.floor(leave2 / (60 * 1000)); //计算相差分钟数
        //计算相差秒数
        var leave3 = leave2 % (60 * 1000); //计算分钟数后剩余的毫秒数
        var seconds = Math.round(leave3 / 1000);
        var leave4 = leave3 % (60 * 1000); //计算分钟数后剩余的毫秒数
        var minseconds = Math.round(leave4 / 1000);
          console.log(res)
        }
      const startTime = new Date().getTime()
        let endTime
      console.log(startTime, 'startTime')
      const times = (dateBegin) => {
        var dateDiff = new Date().getTime() - dateBegin // 时间差的毫秒数
        var dayDiff = Math.floor(dateDiff / (24 * 3600 * 1000)) // 计算出相差天数
        var leave1 = dateDiff % (24 * 3600 * 1000) // 计算天数后剩余的毫秒数
        var hours = Math.floor(leave1 / (3600 * 1000)) // 计算出小时数
        // 计算相差分钟数
        var leave2 = leave1 % (3600 * 1000) // 计算小时数后剩余的毫秒数
        var minutes = Math.floor(leave2 / (60 * 1000)) // 计算相差分钟数
        // 计算相差秒数
        var leave3 = leave2 % (60 * 1000) // 计算分钟数后剩余的毫秒数
        var seconds = Math.round(leave3 / 1000)
        var leave4 = leave3 % (60 * 1000) // 计算分钟数后剩余的毫秒数
        var minseconds = Math.round(leave4 / 1000)
        var timeFn =
          "耗时:" +
          '耗时:' +
          dayDiff +
          "天 " +
          '天 ' +
          hours +
          "小时 " +
          '小时 ' +
          minutes +
          " 分钟" +
          ' 分钟' +
          seconds +
          " 秒" +
          ' 秒' +
          minseconds +
          "毫秒";
        console.log(timeFn);
        return timeFn;
      };
          '毫秒'
        console.log(timeFn)
        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("成功返回经纬度信息");
        const success = function (position) {
          console.log(position)
          times(startTime)
          var lat = position.coords.latitude
          var lon = position.coords.longitude
          console.log('成功返回经纬度信息')
          Message({
            showClose: true,
            message:
              "成功返回经纬度信息" +
              '成功返回经纬度信息' +
              lon +
              "_" +
              '_' +
              lat +
              "--反应时间:" +
              '--反应时间:' +
              times(startTime),
            type: "success",
            duration: 0,
          });
          console.log(lon, lat, "成功");
          outData([lon, lat]);
        };
        let error = function (error) {
            type: 'success',
            duration: 0
          })
          console.log(lon, lat, '成功')
          outData([lon, lat])
        }
        const error = function (error) {
          // console.log(error, "失败");
          outData(["失败", "失败"]);
          let msg = "none";
          outData(['失败', '失败'])
          let msg = 'none'
          switch (error.code) {
            case error.PERMISSION_DENIED:
              msg = "User denied the request for Geolocation.";
              break;
              msg = 'User denied the request for Geolocation.'
              break
            case error.POSITION_UNAVAILABLE:
              msg = "Location information is unavailable.";
              break;
              msg = 'Location information is unavailable.'
              break
            case error.TIMEOUT:
              msg = "The request to get user location timed out.";
              break;
              msg = 'The request to get user location timed out.'
              break
            case error.UNKNOWN_ERROR:
              msg = "An unknown error occurred.";
              break;
              msg = 'An unknown error occurred.'
              break
          }
          Message({
            showClose: true,
            message:
              "定位获取失败-msg:" +
              '定位获取失败-msg:' +
              msg +
              "------" +
              '------' +
              error.message +
              "--反应时间:" +
              '--反应时间:' +
              times(startTime),
            type: "error",
            duration: 0,
          });
        };
        let options = {
            type: 'error',
            duration: 0
          })
        }
        const options = {
          enableHighAccuracy: true,
          // timeout: 5000,
          maximumAge: 0,
        };
          maximumAge: 0
        }
        // console.log(navigator);
        // console.log(navigator.platform);
        Message({
          showClose: true,
          message: navigator.platform,
          type: "error",
          duration: 0,
        });
          type: 'error',
          duration: 0
        })
        // console.log(CLLocationManager);
        // return;
        if (navigator.platform === "iPhone") {
          //iphone请求权限
        if (navigator.platform === 'iPhone') {
          // iphone请求权限
          // let remoGeo = new RemoGeoLocation();
          // navigator.geolocation.getCurrentPosition = function () {
          //   return remoGeo.getCurrentPosition.apply(remoGeo, arguments);
@@ -138,26 +138,26 @@
          success,
          error,
          options
        );
        )
      } else {
        console.log("不支持navigator.geolocation");
        console.log('不支持navigator.geolocation')
        Message({
          showClose: true,
          message: "不支持定位",
          type: "warning",
          duration: 0,
        });
        return "不支持navigator.geolocation";
          message: '不支持定位',
          type: 'warning',
          duration: 0
        })
        return '不支持navigator.geolocation'
      }
    },
    CLOSE_NOWPOSITION(state) {
    CLOSE_NOWPOSITION (state) {
      // if (state.getSPosition && navigator.geolocation) {
      //   navigator.geolocation.clearWatch(state.getSPosition);
      //   state.getSPosition = null;
      // }
    },
    }
  },
  actions: {},
};
  actions: {}
}
export default mobilePosition;
export default mobilePosition