AI 地图
产品服务
解决方案
文档与支持
定价
更新时间: 2026/07/20 14:48

百度地图默认使用 BD09 坐标系。如果你的业务数据是国测局坐标(GCJ02,即高德、腾讯、谷歌中国地图所用坐标系),可以通过配置 coordType让地图直接接收 GCJ02 坐标,无需手动转换每一个坐标点。

配置方式
1.设置全局坐标系

需要在初始化地图前面配置参数 BMap.coordType。设置全局坐标系标识。这是全局默认值,一定要在创建地图之前执行,且在初次声明之后不要在运行期间修改

BMap.coordType = BMAP_COORD_GCJ02;
2.创建地图

设置全局坐标系之后,再进行初始化地图实例。

// 先声明坐标系
BMap.coordType = BMAP_COORD_GCJ02;
// 再初始化地图
var map = new BMap.Map('container');

以上两步完成之后,地图内部绝大多数模块(折线、多边形、圆形、自定义覆盖物、检索、地理编码、定位、路径规划等)在处理坐标时都会读取这个全局值,自动将输入的 GCJ02 坐标转换为内部使用的 BD09 坐标,以及将内部坐标转换为 GCJ02 坐标返回给你。

// 初始化完成之后,可以使用 GCJ02 坐标设置视野
map.centerAndZoom(new BMap.Point(116.404, 39.915), 15);
// 之后所有坐标都按 GCJ02 传入,无需额外配置
var marker = new BMap.Marker(new BMap.Point(116.404, 39.915));
map.addOverlay(marker);
3.特定的功能设定坐标系

除了按以上的方式进行全局配置,单个功能也可以单独配置坐标系,通过options内传入

// 单独仅给Marker坐标设置为GCJ02坐标系
var marker = new BMap.Marker(new BMap.Point(116.404, 39.915), {
coordType: BMAP_COORD_GCJ02
});
map.addOverlay(marker);

上一篇

地图语言

下一篇

点标记
本篇文章对您是否有帮助?