Posted on 2010-09-21 16:58
帥子 閱讀(617)
評論(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;
??????? }