在uniapp微信小程序中使用百度地图

本文详细介绍了如何在微信小程序中集成百度地图,包括申请秘钥AK、引入JS模块、导入JSAPI并实现定位、地址解析等功能的步骤和代码示例。

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

**第一步:**申请秘钥AK,这个自行百度申请。
**第二步:**引入百度地图js模块

微信小程序JSAPI下载

在这里插入图片描述
下载js文件后,解压,并放到项目中。
**第三步:**在项目中导入js API ,

html代码:复制百度地图官网的。最主要是js代码。

<map class="map" id="map" longitude="{{longitude}}" latitude="{{latitude}}" scale="14" show-location="true" markers="{{markers}}" bindmarkertap="makertap"></map> 

js首先需要导入js api

var bmap = require('@/utils/bmap-wx.min.js');   //require里面是存放路径

请求定位,当不传参数的时候,会默认是请求当前位置。

var BMap = new bmap.BMapWX({ 
              ak: 'AK:自己申请的AK' 
              }); 
      BMap.regeocoding({ 
              fail: resp=>{
                      console.log(resp,'失败');
              }, 
              success: resp=>{
                      console.log(resp,'成功');
              }, 
      }); 

根据经纬度,请求具体地址

var BMap = new bmap.BMapWX({ 
              ak: 'AK:自己申请的AK' 
              }); 
      BMap.regeocoding({ 
             location: latitude + "," + longitude, //这里传的是经纬度
              fail: resp=>{
                      console.log(resp,'失败');
              }, 
              success: resp=>{
                      console.log(resp,'成功');
              }, 
      }); 

根据地址请求经纬度

BMap.geocoding({ 
             addres:'广东省广州市', //这里传的是地址
              fail: resp=>{
                      console.log(resp,'失败');
              }, 
              success: resp=>{
                      console.log(resp,'成功');
              }, 
      }); 

感谢阅读

### 集成百度地图API于UniApp微信小程序 #### 准备工作 为了在UniApp开发的微信小程序中集成百度地图API,需先准备好必要的资源。创建新目录`libs`并将下载得到的百度地图微信小程序JavaScript API中的`bmap-wx.js`文件复制至此处[^3]。 #### 初始化百度地图对象 在页面初始化阶段引入百度地图插件,并设置好应用密钥AK(Access Key),这是访问百度LBS开放平台服务所必需的身份验证凭证: ```javascript import BMapWX from '@/libs/bmap-wx.js'; const bmap = new BMapWX({ ak: 'Your_Baidu_API_AK' }); ``` #### 获取当前位置信息 通过调用百度地图SDK提供的接口获取用户的当前地理位置坐标数据,这一步骤对于提供基于位置的服务至关重要: ```javascript export default { data() { return { center: {}, markers: [] }; }, onLoad() { const that = this; wx.getLocation({ type: 'gcj02', success(res) { that.center = { ...res } // 这里可以根据返回的位置参数做更多处理... } }); } } ``` #### 显示地图组件 利用`<map>`标签来呈现地图视图,在其中定义中心点经纬度属性绑定至之前获得的数据模型变量上;同时还可以添加自定义图标作为标记覆盖物放置在指定地点之上[^4]: ```html <template> <view class="container"> <!-- 地图容器 --> <map id="myMap" :latitude="center.latitude" :longitude="center.longitude"></map> <!-- 添加一个按钮用于测试触发事件 --> <button @click="openNavigation">导航</button> <!-- 或者监听地图上的点击事件 --> <map bindtap="handleTapEvent"/> </view> </template> ``` #### 实现导航功能 当用户希望启动导航时,则可以通过构建URL Scheme的方式跳转至外部的地图应用程序执行具体的路径规划操作。这里以腾讯地图为例说明如何构造相应的链接地址格式: ```javascript methods: { openNavigation() { let url = `qqmaps://map/routeplan?type=drive&from=${this.center.latitude},${this.center.longitude}&to=目的地纬度,目的地经度`; wx.navigateTo({url}) }, handleTapEvent(e){ console.log('您点击了地图'); } } ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值