| | |
| | | //开始持续获取定位 |
| | | let that = this; |
| | | if (val != 1) { |
| | | console.log("开始持续定位") |
| | | // console.log(that.id,"开始持续定位") |
| | | this.isContinued = true; |
| | | that.once(function(res) { |
| | | if (res.state == false) { |
| | |
| | | } |
| | | }) |
| | | if (this.isContinuedTimeOut) { |
| | | console.log("重复开始持续定位") |
| | | // console.log("重复开始持续定位") |
| | | return; |
| | | } |
| | | } |
| | |
| | | } |
| | | } |
| | | }) |
| | | }, 5000) |
| | | }, 3000) |
| | | |
| | | } |
| | | overContinued() { |
| | | console.log("结束持续定位") |
| | | // console.log("结束持续定位") |
| | | let that = this; |
| | | if (this.isContinued) { |
| | | this.isContinued = false; |
| | |
| | | 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({ |
| | |
| | | outit(); |
| | | let success = function(position) { |
| | | // console.log(position); |
| | | var lat = position.coords.latitude; |
| | | var lon = position.coords.longitude; |
| | | var lat = position.coords.longitude;//经度 |
| | | var lon = position.coords.latitude;//纬度 |
| | | // console.log("成功返回经纬度信息"); |
| | | // console.log(lon, lat, "成功"); |
| | | that.onceNowPosition = [lat, lon]; |
| | |
| | | } |
| | | that.onceNowPosition = msg; |
| | | that.state = false; |
| | | ok = true; |
| | | ok = false; |
| | | outit(); |
| | | }; |
| | | let options = { |
| | |
| | | error, |
| | | options |
| | | ); |
| | | //高德定位 |
| | | // console.log("开始获取一次定位"); |
| | | // this.state = true; |
| | | // let that = this; |
| | | // that.outData(); |
| | | // AMap.plugin("AMap.Geolocation", function() { |
| | | // var geolocation = new AMap.Geolocation({ |
| | | // // 是否使用高精度定位,默认:true |
| | | // enableHighAccuracy: true, |
| | | // // 设置定位超时时间,默认:无穷大 |
| | | // // timeout: 10000, |
| | | // }); |
| | | // 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("成功返回经纬度信息"); |
| | | // // console.log(lon, lat, "成功"); |
| | | // that.onceNowPosition = [lon, lat]; |
| | | // this.state = false; |
| | | // that.outData(); |
| | | // } |
| | | |
| | | // function onError(data) { |
| | | // // 定位出错 |
| | | // // console.log(data); |
| | | // that.onceNowPosition = data; |
| | | // this.state = false; |
| | | // that.outData(); |
| | | // } |
| | | // }); |
| | | } |
| | | //结束获取 |
| | | outInit() { |
| | | |
| | | } |
| | | //抛出数据 |
| | | outData() { |
| | | outData(val) { |
| | | let d = { |
| | | state: this.state, |
| | | intlat: this.onceNowPosition |
| | | } |
| | | if (val) { |
| | | d[val] = val |
| | | } |
| | | this.fn(d) |
| | | } |
| | | } |
| | | |
| | | // export default $getPositions; |