1 瓦片简介
瓦片地图金字塔模型是一种多分辨率层次模型,从瓦片金字塔的底层到顶层,分辨率越来越低,但表示的地理范围不变。首先确定地图服务平台所要提供的缩放级别的数量N,把缩放级别最高、地图比例尺最大的地图图片作为金字塔的底层,即第0层,并对其进行分块,从地图图片的左上角开始,从左至右、从上到下进行切割,分割成相同大小(比如256x256像素)的正方形地图瓦片,形成第0层瓦片矩阵;在第0层地图图片的基础上,按每2x2像素合成为一个像素的方法生成第1层地图图片,并对其进行分块,分割成与下一层相同大小的正方形地图瓦片,形成第1层瓦片矩阵;采用同样的方法生成第2层瓦片矩阵;…;如此下去,直到第N一1层,构成整个瓦片金字塔。(摘自百度百科)
2 TileOverlay
2.1 TileOverlay简介
BaiduMap支持开发者添加自定义瓦片数据,包括本地加载和在线下载两种方式。图层可随地图进行平移、缩放、旋转等操作变换,它位于底图之上(瓦片图层将会遮挡地图,不遮挡其他图层),瓦片图层的添加顺序不会影响其他图层的叠加关系,适用于开发者拥有某区域的地图,并希望使用区域地图覆盖相应位置的百度地图;
例如大型游乐园可以制作与地图最大比例的卡通地图,然后进行切割为瓦片,使用瓦片来覆盖百度地图,这样对百度地图进行缩放、移动、旋转这个游乐园的卡通地图也会随之变化;
2.2 百度瓦片划分规则
百度地图SDK会根据不同的比例尺将地图划分成若干个瓦片,并且以中心点经纬度(0,0)开始计算瓦片,当地图显示缩放级别增大时,每一个瓦片被划分成4 个瓦片。如:
地图级别为0时,只有1张瓦片
地图级别为1时,会分成 1 * 4 = 4 张瓦片
依次类推,
地图级别为n时,总共划分的瓦片为:4的n次方
为了保证瓦片的显示效果,第n级的瓦片显示的地图level范围为[n - 0.5, n + 0.5)