前端获取当前位置信息(百度地图)

本文介绍如何在Vue应用中通过引入百度地图API实现用户位置的实时获取。首先,在Map.js中导入并初始化百度地图API,然后在Vue组件中调用相关方法。当用户允许获取位置信息时,可以获取到详细的地址信息;若用户拒绝,则通过对话框提示开启定位功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上篇水印需要即时获取用户位置信息这里放相应代码

  1. 首先创建单独的Map.js文件夹引入百度api

export default {
  init: function() {
    const AK = "你的AK"; //你的AK
    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);
      };

      // 插入script脚本
      let scriptNode = document.createElement("script");
      // scriptNode.setAttribute(type, 'text/javascript');
      scriptNode.setAttribute("src", BMap_URL);
      document.body.appendChild(scriptNode);
    });
  }
};

2.在vue中引入

 3,创建方法调用即可

//获取定位
  getLocation(){
    myBMap.init().then(BMap => {
        new BMap.Geolocation().getCurrentPosition(
          position => {
            if (position.accuracy) {
             	//用户允许的操作,position里面有城市,省份,经纬度等信息
            } else {
            	//用户点击拒绝的操作
              Dialog.confirm({
                title: '温馨提示!',
                message: '请打开手机定位功能',
              }).then(() => {
               })
            }
              let address=position.address
             this.address=address.province + address.city + address.district + 
                      address.street + address.streetNumber
          },
          error => {
            Dialog.alert({
              title: "提示",
              message: "获取定位失败",
            });
          } 
        
            );
          })
  }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@Doraemen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值