前文说过,引路蜂地图开发包除了支持自带的20多种地图类型外,还支持自定义地图类型。要支持自定义地图类型,首先要了解你需要支持的地图服务器的分片方法,目前几种主流的地图服务如Google地图,Bing地图,MapAbc地图地图分片方法基本类似,具体可以参考Bing地图地图分片方法。一般地图缩放级别为1-17级,每片图片为256X256大小的PNG图像。
中国刚刚推出了天地图 http://www.tianditu.com/map/index.jsp 。这里不想对其好坏和用意做评价,只是用它来做例子说明自定义地图的用法。
使用Microsoft Network Monitor 可以得到天地图矢量地图的URL生成规则如下:
缩放级别 | URL规则 |
1-10 | http://tile[n].tianditu.com/DataServer?T=A0512_EMap&x={x}&y={y}&L={z} |
http://tile[n].tianditu.com/DataServer?T=A0512_Anno&x={x}&y={y}&L={z} | |
11-13 | http://tile[n].tianditu.com/DataServer?T=B0627_EMap1112&x={x}&y={y}&L={z} |
14-18 | http://tile[n].tianditu.com/DataServer?T=siwei0608&x={x}&y={y}&L={z} |
从上可以看出天地图内部是有多个“杂牌军”组成。
1- 10级地图有两层组成,一层为地图一层为标注。
11-13级地图由一层组成,包括地图和标注。
14-18级地图也由一层组成,包括地图和标注。地图好像是来自四维。
使用自定义地图的一个关键是找出地图图片的URL规则。也就是根据地图类型,X索引,Y索引,缩放级别生产该图片的URL。
public String getTileURL(int mtype, int x, int y, int zoomLevel);