因为公司的crm系统要重新做,里面要求业务员打卡必须在项目的800米范围之内,才能够打卡成功,我们就使用了高德api自动获取当前位置信息,进行与数据库里面录入的位置信息进行对比,算出相应的距离,
首先我们封装了一个获取当前位置
window.AMap.plugin('AMap.Geolocation', () => {
const geolocation = new window.AMap.Geolocation({
// 是否使用高精度定位,默认:true
enableHighAccuracy: true,
// 设置定位超时时间,默认:无穷大
timeout: 10000,
// 定位按钮的停靠位置的偏移量,默认:Pixel(10, 20)
buttonOffset: new window.AMap.Pixel(10, 20),
// 定位成功后调整地图视野范围使定位位置及精度范围视野内可见,默认:false
zoomToAccuracy: true,
// 定位按钮的排放位置, RB表示右下
buttonPosition: 'RB'
});
if (window.AMap.UA.ios) { //ios专门写的
//使用远程定位,见 remogeo.js
let remoGeo = new window.RemoGeoLocation();
//替换方法
navigator.geolocation.getCurrentPosition = function () {
ret