| | |
| | | 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); |
| | |
| | | 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 |