高德地图获取经纬度

博客介绍了在开放平台获取坐标的方法,先找到开放平台,在开发支持中选择坐标拾取器,即可得到坐标获取结果。

找到下方的开放平台 

开发支持中 选择坐标拾取器

下面是坐标获取结果

在Vue中使用高德地图获取经纬度,有两种常见的方法:封装公用方法动态引入高德地图获取经纬度和在`data()`方法中定义数据变量获取经纬度。 ### 封装公用方法动态引入高德地图获取经纬度 在`utils`文件夹里新建`getLocation.js`,封装获取经纬度的公用方法,通过动态CDN引入高德地图以优化加载速度。若需求是在获取当前经纬度数据后请求一些数据,需搭配`Promise`使用,以保证获取经纬度信息。示例代码如下: ```javascript function loadSDK() { if (window.AMap) return; return new Promise((resolve, reject) => { const script = document.createElement('script'); script.src = 'http://webapi.amap.com/maps?v=1.4.6&key=*****************'; //***为申请的德key document.head.appendChild(script); script.onload = resolve; script.onerror = reject; }); } export default async () => { await loadSDK(); return new Promise((resolve) => { // eslint-disable-next-line no-undef AMap.plugin('AMap.Geolocation', () => { // eslint-disable-next-line no-undef const geolocation = new AMap.Geolocation({ enableHighAccuracy: false }); geolocation.getCurrentPosition((status, result) => { const res = status === 'complete' ? result.position : { lat: 39.909187, lng: 116.397451 }; //默认北京 116.397451、39.909187 console.log('定位结果', res); resolve(res); }); }); }); }; ``` 使用该封装方法时,可在Vue组件中导入并调用: ```javascript import getLocation from '@/utils/getLocation'; export default { async mounted() { const location = await getLocation(); console.log('当前经纬度', location); } }; ``` ### 在`data()`方法中定义数据变量获取经纬度 在`data()`方法中定义数据变量,通过高德地图API获取经纬度。示例代码如下: ```javascript export default { data() { return { // 存放获取到的经度 longitude: "", // 存放获取到的纬度 latitude: "", // 存放获取到的详细地址 detailedAddress: "", // 存放需要查询的地址 address: "", // 高德地图 API Key (秘钥) apikey: "d0a6d2fc229e376f6bb20d976b4033ef", // 确保这里填写正确的高德地图 API Key // 存放查询到的经度 lng: "", // 存放查询到的纬度 lat: "", // 存放查询到的地址 location: "", // 地图对象,创建地图实例 map: null, // 设置地图弹窗是否可见 dialogVisible: false }; }, mounted() { // 可以在这里编写获取经纬度的逻辑 } }; ``` ### 直接引入高德地图脚本获取经纬度 在Vue项目的HTML文件中直接引入高德地图脚本,然后在Vue组件中使用API获取经纬度。示例代码如下: ```html <script type="text/javascript" src="https://webapi.amap.com/maps?v=1.4.4&key=your key"></script> //key找个适合例如:160cab8ad6c50752175d76e61ef92c50 ``` 在Vue组件中使用: ```javascript export default { mounted() { if (window.AMap) { AMap.plugin('AMap.Geolocation', () => { const geolocation = new AMap.Geolocation({ enableHighAccuracy: false }); geolocation.getCurrentPosition((status, result) => { if (status === 'complete') { const { lat, lng } = result.position; console.log('当前经纬度', { lat, lng }); } }); }); } } }; ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值