您的位置:首页 > 编程语言 > Java开发

worldwind java对TMS服务(腾讯)的支持

2016-06-05 10:57 501 查看
前文讲到worldwind Java对Tile服务的加载点击查看,实际上,worldwind java对TMS服务的支持方式与对tile服务的支持类似。步骤如下:

重写makeLevels,构建图层所要的信息LevelSet

构建TileUrlBuilder,以建立不同tile的url服务地址

makeLevels的例子不再给出,参见前文即可:

makeLevels最核心的仍然是TileUrlBuilder,这里以腾讯的数据源为例,说明TMS服务的加载。以TileUrlBuilderCustom为基础,构建TileUrlBuilderCustomTianDiTu,代码如下:

public class TileUrlBuilderCustomTMS extends TileUrlBuilderCustom {

public TileUrlBuilderCustomTMS(String urlFormat,String serverPre) {
super(urlFormat,serverPre);
}

protected double computeTileUrlTMS(double lat)
{
return  -1*lat;
}

protected String computeTileUrl(String strTemp, int x, int y, int zoom) {
strTemp = strTemp.replace("{x1}",String.valueOf((int)(Math.floor(x/16.0))));
strTemp = strTemp.replace("{y1}",String.valueOf((int)(Math.floor(y/16.0))));
return computeTileUrlRandom(strTemp,x,y,zoom);
}
}


腾讯数据的载入

TileUrlBuilder tb = new TileUrlBuilderVeTMS("http://rt{s}.map.gtimg.com/realtimerender?z={z}&x={x}&y={y}&type=vector&style=0&v=1.1.2","0123");


将这里的TileUrlBuilder 传给上面的makeLevels,即可实现数据的载入。

下图为加载腾讯地图数据的示例图。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: