当前位置:   article > 正文

vue3 百度api获取当前浏览器的地理位置_vue3使用百度地图获取当前地理位置

vue3使用百度地图获取当前地理位置
  1. import myBMap from '@/utils/baiduMap/bdMap.js';
  2. // 获取城市/区的具体地理位置
  3. const getCity = () => {
  4. myBMap.init().then(BMap => {
  5. const geolocation = new BMap.Geolocation();
  6. geolocation.getCurrentPosition(
  7. positionOptions => {
  8. // console.log(positionOptions);
  9. currentCity.value = positionOptions ? positionOptions.address?.district : currentCity.value;
  10. },
  11. positionError => {
  12. console.log(positionError.message);
  13. },
  14. { enableHighAccuracy: true }
  15. );
  16. });
  17. };

打印出来的positionOptions包含经纬度和省份城市区域

下图是myBMap里封装的代码

  1. export default {
  2. init: function () {
  3. const AK = ''; // 你的AK
  4. const BMap_URL = 'https://api.map.baidu.com/api?v=2.0&ak=' + AK + '&s=1&callback=onBMapCallback';
  5. return new Promise((resolve, _reject) => {
  6. // 如果已加载直接返回
  7. if (typeof BMap !== 'undefined') {
  8. resolve(BMap);
  9. return true;
  10. }
  11. // 百度地图异步加载回调处理
  12. window.onBMapCallback = function () {
  13. resolve(BMap);
  14. };
  15. // 插入script脚本
  16. let scriptNode = document.createElement('script');
  17. // scriptNode.setAttribute(type, 'text/javascript');
  18. scriptNode.setAttribute('src', BMap_URL);
  19. document.body.appendChild(scriptNode);
  20. });
  21. }
  22. };

实测: 谷歌浏览器只能第一次允许地理位置才会出位置信息,火狐可以正常获取

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/109904?site
推荐阅读
相关标签
  

闽ICP备14008679号