# geolocation **Repository Path**: xieze/geolocation ## Basic Information - **Project Name**: geolocation - **Description**: js获取经纬度 - **Primary Language**: JavaScript - **License**: Not specified - **Default Branch**: master - **Homepage**: https://xieze.gitee.io/geolocation - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2018-12-10 - **Last Updated**: 2021-10-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # geolocation #### 项目介绍 默认使用window的navigator获取经纬度,在navigator不可用的情况下,再去调用百度地图ip获取经纬度接口 #### 完整方法 ```javascript // 初始化 var mylocation = new geolocation(); // 获取经纬度 mylocation.getGeolocation({ success: function(res) { document.getElementById('point').innerText ='获取的经纬度为:'+res.coords.longitude+','+res.coords.latitude; // 经纬度地址解析 mylocation.geocoder({ latitude: res.coords.latitude, longitude: res.coords.longitude, success: function(rs) { document.getElementById('address').innerText ='经纬度转换为地址:'+rs.formatted_address; }, error: function() { document.getElementById('address').innerText ='经纬度转换为地址失败'; } }); }, error: function() { document.getElementById('point').innerText ='定位失败'; } }) ``` #### 提供方法 1. 获取经纬度 ```javascript var mylocation = new geolocation(); mylocation.getGeolocation({ success: function(res) { alert('获取的经纬度为:'+res.coords.latitude+','+res.coords.longitude) } }) ``` 2. 经纬度地址解析 ```javascript var mylocation = new geolocation(); mylocation.geocoder('113.30764968,23.12004910') ``` #### 安装教程 1. navigator.geolocation.getCurrentPosition调用的是window的方法,在调用百度ip获取经纬度的情况下,使用下面js即可 #### 使用说明 1. ip获取使用的百度接口 2. 逆地址解析使用的百度接口 3, 请配置自己的百度ak,在源码的头部 ```javascript navigator.geolocation.getCurrentPosition(function (position) { console.log('success',position); var success = { coords: { accuracy: 70,// 位置精确度 altitude: null, // 海拔 altitudeAccuracy: null,// 海拔精确度 heading: null,// 朝向 latitude: 23.1017714, // 纬度 longitude: 113.25838209999999,// 经度 speed: null,// 速度 }, timestamp: 1544340493718 } }, function (error) { console.log('error',error); var error = { code: error.code, message: error.message, jsapiLoc: true }; }, { enableHighAccuracy: false, timeout: 5000, maximumAge: 600000 }); ```