‘壹’ 地图软件缩小与放大的原理
实现地图放大与缩小的功能是基于瓦片地图的拼接与显示的。
TMS是tile map service的缩写,是一种瓦片地图服务,也称之为WMTS(web map tile service),具体的标准可以见 OGC网站 。TMS的算法很简单,就是把投影后的世界地图按照层级进行四叉树(待验证)切割,切割后的瓦片数量随层级呈金字塔型。简单来说就是赋予地图缩放等级这个属性。即0级瓦片地图只有一张图片(瓦片),1级有四张。在第z级别,x,y方向的瓦片个数均为:
经纬度与瓦片坐标编号、像素的转换公式如下
以下图片誉判(z,x,y)像素(m,n)[注:像素坐标以左上角为原点,胡余x轴向右,y轴向下]的经纬度[单位:度]分别为:
用鼠标操作地图放大缩裤虚滚小过程的流程图如下:
操作过程中,程序获取需求显示的最大最小xy值。根据以上公式换算,请求加载相应的瓦片来显示地图细节。
参考:
Google Map 卫星地图/地形图:jpg 地图:png
‘贰’ 怎么做一个android的校园导航app功能只用输入起始地和目的地就能在校园的地图上显示出最短的
用arcgis做一张底图,使用瓦片技术。如果不依赖服务,不过你得自写地图拼接算法,难度有点大