import { Message } from "element-ui"; // import BMap from "./mobilePositionLID"; import RemoGeoLocation from "./mobilePositionLID1"; const mobilePosition = { state: { getSPosition: null }, mutations: { GET_NOWPOSITION(state, val) { let 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); var timeFn = "耗时:" + dayDiff + "天 " + hours + "小时 " + minutes + " 分钟" + seconds + " 秒" + minseconds + "毫秒"; 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("成功返回经纬度信息"); // // 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({ // showClose: true, // message: navigator.platform, // type: "error", // duration: 0, // }); // 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; // } // return // console.log(BMap); //百度定位 // // var geolocation = new BMap.Geolocation(); // geolocation.getCurrentPosition(function (r) { // if (this.getStatus() == BMAP_STATUS_SUCCESS) { // // var mk = new BMap.Marker(r.point); // // map.addOverlay(mk); // // map.panTo(r.point); // console.log("您的位置:" + r.point.lng + "," + r.point.lat); // outData([r.point.lng, r.point.lat]); // Message({ // showClose: true, // message: // "成功返回经纬度信息" + // r.point.lng + // "_" + // r.point.lat + // "--反应时间:" + // times(startTime), // type: "success", // duration: 0, // }); // } else { // console.log("failed" + this.getStatus()); // Message({ // showClose: true, // message: // "定位获取失败-msg:" + // "failed" + // this.getStatus() + // "------" + // "--反应时间:" + // times(startTime), // type: "error", // duration: 0, // }); // } // }); // return; // //高德定位 // AMap.plugin("AMap.Geolocation", function () { // var geolocation = new AMap.Geolocation({ // // 是否使用高精度定位,默认:true // enableHighAccuracy: true, // // 设置定位超时时间,默认:无穷大 // // 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); // AMap.event.addListener(geolocation, "error", onError); // function onComplete(data) { // // data是具体的定位信息 // console.log(data); // var lat = data.position.lat; // var lon = data.position.lng; // console.log("成功返回经纬度信息"); // Message({ // showClose: true, // message: "成功返回经纬度信息" + // lon + // "_" + // lat + // "--反应时间:" + // times(startTime), // type: "success", // duration: 0, // }); // console.log(lon, lat, "成功"); // outData([lon, lat]); // } // function onError(data) { // // 定位出错 // console.log(data); // Message({ // showClose: true, // message: "定位获取失败-msg:" + // data.message + // "------" + // "--反应时间:" + // times(startTime), // type: "error", // duration: 0, // }); // } // }); 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, //定位成功后是否自动调整地图视野到定位点 }); // 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, options ); } else { console.log("不支持navigator.geolocation"); Message({ showClose: true, message: "不支持定位", type: "warning", duration: 0, }); return "不支持navigator.geolocation"; } }, CLOSE_NOWPOSITION(state) { // if (state.getSPosition && navigator.geolocation) { // navigator.geolocation.clearWatch(state.getSPosition); // state.getSPosition = null; // } }, }, actions: {}, }; export default mobilePosition;