uni app +vue 引用 百度地图API取位置,VUE用百度地图获取当前位置(城市)
uni app +vue 引用 百度地图API取位置,VUE用百度地图获取当前位置(城市)
1.在index.html 引入 百度js
<script src="http://api.map.baidu.com/api?v=2.0&ak=你的密钥" type="text/javascript"></script>
2.创建js文件,放入以下代码:
export default { init: function () { const AK = "lyFvtNiZ2fH1jWqGIRMAxDwDbMwvXgsv"; const BMap_URL = 'https://api.map.baidu.com/api?v=2.0&ak=' + AK + '&s=1&callback=onBMapCallback'; return new Promise((resolve, reject) => { // 如果已加载直接返回 if (typeof BMap !== 'undefined') { resolve(BMap); return true; } // 百度地图异步加载回调处理 window.onBMapCallback = function () { resolve(BMap); }; let getCurrentCityName = function () { return new Promise(function (resolve, reject) { let myCity = new BMap.LocalCity() myCity.get(function (result) { resolve(result.name) }) }) } // 插入script脚本 let scriptNode = document.createElement("script"); scriptNode.setAttribute("type", "text / javascript"); scriptNode.setAttribute("src", BMap_URL); document.body.appendChild(scriptNode); }); } }
3.需要用的组件里开始引用和调用
写在方法里,在mounted里调用–下面代码不可少
mounted() { var isWeixn = this.is_weixn(); if (isWeixn) { this.getCity(); } }, methods: { getCity() { map.init().then(BMap => { const locationCity = new BMap.Geolocation(); var that = this; locationCity.getCurrentPosition( function getinfo(options){ let city = options.address.city; //此处拿到位置相关信息 that.LocationCity = city; console.log(options) }, function (e){ that.LocationCity = '定位失败'; console.log('定位失败') }, {provider: 'baidu'} ) }) }, }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了