Posted on 2010-09-21 16:58
帅子 阅读(609)
评论(0) 编辑 收藏 所属分类:
申请加入java团队 、
j2ee技术专区
此TileCache非彼Py TileCache,而是MapGuide OS/E自带地图缓存”名称”。
现在成熟的地图平台均不同程度上支持瓦片生成方式,而且每个WebGIS产品均有各自不同的瓦片(Tile)组织方式。MapGuide OS/E 的和Bing Map、Google Map、TMS的组织方式有很大不同,如果可以知道存储方式就可以自己实现MapGuide Provider,部署地图时则不需要安装MapGuide OS/E。现分析下以供有缘人使用。
public override Uri GetUri(int x, int y, int zoomLevel)
{//适用于MS Silverlight mapControl,xy为行列号,zoomLevel为当前地图比例级别
string tileRowGroup = “”;
string tileColGroup = “”;
if (x >= 0 && y >= 0 )
{
tileRowGroup += (Math.Floor(x/tileRowsPerFolder) * tileRowsPerFolder).ToString();//tileRowsPerFolder=30
tileColGroup += (Math.Floor(y / tileColumnsPerFolder) * tileColumnsPerFolder).ToString();
string tilePath = “/S” + Math.Floor(zoomLevel)
+ “/” + basemaplayergroupname
+ “/R” + tileRowGroup
+ “/C” + tileColGroup
+ “/” + (x % tileRowsPerFolder)
+ “_” + (y % tileColumnsPerFolder)
+”.” + this.format;//png
return new Uri(this.url + tilePath);
}
return null;
}