本文分为几个部分:
1、基础知识——百度地图坐标系(摘自百度地图官网)
2、百度地图自定义图层api说明,或参考百度地图官方示例。
3、获取百度地图原图
4、自定义图层图片处理
5、获取百度自定义图层图块与代码
若对自定义图层原理已有了解,可直接跳到第3步;若已有合适的自定义图层图片,可直接跳到第5步。
如需服务请联系在线客服
1、基础知识——百度地图坐标系(摘自百度地图官网)
在使用自定义方式叠加图层之前,您需要先了解百度地图的地图坐标系。 百度地图坐标系涉及:
经纬度球面坐标系统
经纬度球面坐标系统
图块编号系统通过伦敦格林尼治天文台原址的经线为0度经线,从0度经线向东、向西各分180度。赤道为0度纬线,赤道以北的纬线称为北纬、以南的称为南纬。
在百度地图中,东经和北纬用正数表示,西经和南纬用负数表示。例如北京的位置大约是北纬39.9度,东经116.4度,那么用数值标示就是经度116.6,纬度39.9。
在百度地图中,习惯经度在前,纬度在后,例如:
百度地图使用的是墨卡托投影。墨卡托平面坐标如下图所示,平面坐标与经纬度坐标系的原点是重合的。
百度地图图块编号规则如下图所示:
从平面坐标原点开始的右上方向的图块编号为0,0,以此类推。在更低的缩放级别(级别 1)中,整个地球由4张图块组成。随着级别的增长,地图所使用的图块个数也随之增多。
getTilesUrl方法的参数包括tileCoord和zoom,其中tileCoord为图块的编号信息,zoom为图块的级别,每当地图需要显示特定级别的特定位置的图块时就会自动调用此方法,并提供这两个参数。
使用者需要告知API特定编号和级别所对应的图块的地址,这样API就能正常显示自定义的图层了。
代码很简单,只要正确的引入地图图块即可。
3、获取百度地图原图
要想用自定义图块完美覆盖百度地图图块,首先你需要得到百度地图原图。这里采用【水经注地图下载器】下载。
(1)双击 sgwn.exe 打开软件
(2)选择 【电子.百度】。
(3)拖动到你想要添加自定义图层的区域,选中下载区域,双击开始下载
(4)在新建任务对话框中设置好存储目录、任务名称和需要下载的地图级别。点击确定
(5)下载完成后在弹出框中点击是,导出图片,导出类型为拼接。
(6)得到不同级别下的百度地图原图
4、自定义图层图片处理
这里选取上一步中得到的缩放级别为18的天坛拼接图,在PS中打开,将自定义的天坛图(该图是调试时随机下载的)缩放到与百度原图同样大小,去除多余部分,得到18级的自定义天坛图,保存图片(tiantan.png)。
5、获取百度自定义图层图块与代码
网上的百度地图瓦片工具有很多,这里采用 TileCutter。
(1)打开TileCutter,选取需要切图的图片,下一步
(2)选择输出路径,下一步
(3)选择输出类型。下一步
(4)选择中心点坐标(因软件拖动不方便,此处我选择在坐标拾取网页选取中心点)。下一步