百度地图 API 使用百度坐标系(BD-09),所有接口的默认输入输出坐标均基于此坐标系。BD-09坐标系在 GCJ-02坐标系基础上进行二次加密,符合国内测绘相关法规要求。
WGS84:为一种大地坐标系,也是目前广泛使用的GPS全球卫星定位系统使用的坐标系。
GCJ02:又称火星坐标系,是由中国国家测绘局制订的地理信息系统的坐标系统。由WGS84坐标系经加密后的坐标系。
非中国地区地图统一使用 WGS-84 坐标。
默认情况下,使用百度地图 API 前,需要将非百度坐标转换为 BD-09 坐标。JSAPI提供了专用的坐标转换类Convertor,您可以示例以下示例代码进行坐标转换,更多示例详见示例。
const convertor = new BMap.Convertor();const points = [new BMap.Point(116.32715, 39.990912)];convertor.translate(points, 1, 5, callback);
坐标转换方法中,坐标系和数字的对应的关系如下表:
为简化非BD09坐标系的数据上图,JSAPI提供了全局统一设置输入坐标系的接口,您可通过声明BMap.coordType的值的方式,让引擎内部自动完成数据坐标的转换。详细说明请参看文档。
BMap.coordType = BMAP_COORD_GCJ02; // 声明全局使用GCJ02坐标const map = new BMap.Map('container');map.centerAndZoom(new BMap.Point(116.397, 39.908), 12); // GCJ02 坐标
上一篇
下一篇