自定义地图示例:天地图(一)

jerry 地图开发 2015年11月26日 收藏

前文说过,引路蜂地图开发包除了支持自带的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);