百度地图开放平台
更新时间: 2026/09/10 16:28
微信小程序 JavaScript API
产品简介

百度地图微信小程序 JavaScript API(下文简称"小程序 JSAPI")是面向微信小程序场景的百度地图能力封装。它把百度地图 Web 服务 API 中的常用接口按微信小程序规范做了前端 JS 封装,开发者无需关心签名、坐标系换算和错误码解析,即可在小程序中完成地点检索、地址转换、路线规划、天气查询和静态图渲染。
部分接口会把返回数据加工成小程序数据格式(如 wxMarkerDatawxPolylineData),可直接绑定到小程序 <map> 组件的 markers / polyline 属性上。
该套 API 全面支持 HTTPS 请求,免费对外开放,使用前需先申请密钥(AK)。在使用之前,请先阅读百度地图 API 使用条款。任何非营利性应用请直接使用,商业应用请参考使用须知

能力总览

当前版本为 v2.0,共提供 12 个方法,与百度地图 Web 服务 API 的对应关系如下:

小程序 JSAPI 方法对应 Web 服务 API能力说明

search

Place API 周边检索

检索中心点周边的 POI,返回小程序 marker 数组

suggestion

Place Suggestion API

关键词联想补全,用于搜索框输入提示

geocoding

Geocoding API(正向)

结构化地址转经纬度

reverseGeocoding

Geocoding API(逆向)

经纬度转地址描述与周边 POI

driving

direction/v2/driving

驾车路线规划

walking

direction/v2/walking

步行路线规划

transit

direction/v2/transit

公交(含地铁)路线规划

riding

direction/v2/riding

骑行路线规划

weather

weather/v1/

国内实况天气与 7 天预报

weatherAbroad

weather_abroad/v1/

海外实况天气与 7 天预报

staticMap

staticimage/v2

本地拼装静态图 URL,直接用于 <image>

getWXLocation

获取当前定位坐标,封装 wx.getLocation,默认返回 gcj02

其中 getWXLocation 是定位辅助方法。上述业务接口在未显式传 location 时会自动调用它获取当前位置,通常无需单独使用。

扫码体验

扫描下方小程序码即可体验示例 Demo,覆盖周边探索、周边检索、关键词联想、地址解析、逆地址解析、路线规划、静态图与天气查询等全部能力。

统一的回调约定

所有方法均为回调式调用,参数对象中传入 success 与 fail。各接口的具体字段见对应文档,此处是所有接口共同遵守的约定。
成功回调入参统一为 { originalData, ...规范字段 }originalData 是 Web 服务接口的完整原始响应,规范字段是 SDK 加工后的小程序可用数据:

接口类别规范字段用途

search / geocoding / reverseGeocoding

wxMarkerData

符合小程序 marker 规范的数组,可直接绑定 <map markers>

driving / walking / transit / riding

routes / wxPolylineData

规范化方案数组与主方案折线坐标

weather / weatherAbroad

weatherData

解析后的天气对象,含实况与 7 天预报

staticMap

url

可直接用于 <image src> 的图片地址

失败回调入参统一为 { errMsg, message, statusCode, rawMessage },字段含义如下(各接口文档不再重复):

字段类型说明

errMsg

String

展示用错误文案(后端原文,超长时截断 160 字符并加省略号)

message

String

错误码映射的中文说明

statusCode

Number

百度接口返回的状态码

rawMessage

String

完整原文,未截断,供诊断排查

少数参数校验失败的场景由 SDK 本地拦截,不发起请求,此时 fail 入参只有 errMsg,没有 statusCode。例如路线规划缺少起终点、geocoding 缺少 addressstaticMap 未配置 AK。做错误提示时建议写成 err.message || err.errMsg
坐标系说明
小程序 <map> 组件使用 GCJ-02 坐标系。小程序 JSAPI 的所有解析输出(wxMarkerData / wxPolylineData / suggestion 的 location)均为 GCJ-02,可直接用于地图组件,无需再做转换。
输入侧默认同样按 GCJ-02 解释。公交路线规划接口不支持 gcj02 入参,SDK 会自动把 GCJ-02 经纬度换算为百度坐标后请求。

需要注意经纬度顺序在不同接口之间并不一致

接口[object Object] 顺序

search / reverseGeocoding / 路线规划的 origindestination

纬度,经度

weather / weatherAbroad / staticMap 的 center

经度,纬度

接入前提
  • 已申请微信小程序类型的 AK,详见账号和密钥

  • 已在微信公众平台把 https://api.map.baidu.com 加入 request 合法域名,详见配置环境

  • 如需使用默认定位(不显式传 location),需在 app.json 中声明 getLocation 隐私接口。

示例代码

完整示例小程序(周边探索、周边检索、关键词联想、地址解析、逆地址解析、路线规划、静态图、天气)见 GitHub 仓库 的 demo 目录。

// pages/index/index.js
const { BMapWX } = require('./libs/bmap-wx.min.js');
const bmap = new BMapWX({ ak: '您的ak' });
bmap.search({
query: '美食',
success(res) {
console.log(res.wxMarkerData); // 可直接绑定到 <map markers>
},
fail(err) {
console.log(err.message, err.statusCode);
},
});

下一篇

账号和密钥
本篇文章对您是否有帮助?