概述using System; using System.Net; using System.Windows; using System.Windows.Controls; using System.Windows.Documents; using System.Windows.Ink; using System.Windows.Input; using System.Windows.Media; u using System; using System.Net; using System.windows; using System.windows.Controls; using System.windows.documents; using System.windows.Ink; using System.windows.input; using System.windows.Media; using System.windows.Media.Animation; using System.windows.Shapes; using ESRI.ArcGIS.ClIEnt; using ESRI.ArcGIS.ClIEnt.Geometry; namespace sdhbgis.Dal { public class GoogleMapLayerTerrain : TiledMapServiceLayer { private const double cornerCoordinate = 20037508.3427892; public overrIDe voID Initialize() { //this.Opacity = 0.5; this.FullExtent = new ESRI.ArcGIS.ClIEnt.Geometry.Envelope(-20037508.342787,-20037508.342787,20037508.342787,20037508.342787);//(-180,-85.0511287798066,180,85.0511287798066) { SpatialReference = new ESRI.ArcGIS.ClIEnt.Geometry.SpatialReference(102100); }; this.SpatialReference = new ESRI.ArcGIS.ClIEnt.Geometry.SpatialReference(102100); //this.InitialExtent = this.FullExtent; this.TileInfo = new TileInfo() { Height = 256, WIDth = 256, Origin = new ESRI.ArcGIS.ClIEnt.Geometry.MapPoint(-20037508.342787,20037508.342787)//Origin = new ESRI.ArcGIS.Geometry.MapPoint(-180,90) { SpatialReference = new ESRI.ArcGIS.ClIEnt.Geometry.SpatialReference(102100) }, Lods = new Lod[20] }; double resolution = 156543.033928; for (int i = 0; i < TileInfo.Lods.Length; i++) { TileInfo.Lods[i] = new Lod() { Resolution = resolution }; resolution /= 2; } base.Initialize(); //this.FullExtent = new ESRI.ArcGIS.ClIEnt.Geometry.Envelope(-20037508.3427892,-20037508.3427892,20037508.3427892,20037508.3427892) //{ // SpatialReference = new SpatialReference(102100) //}; //// This layer's spatial reference //this.SpatialReference = new SpatialReference(102100); //// Set up tile information. Each tile is 256x256px,19 levels. //this.TileInfo = new TileInfo() //{ // Height = 256, // WIDth = 256, // Origin = new MapPoint(-cornerCoordinate,cornerCoordinate) { SpatialReference = new ESRI.ArcGIS.ClIEnt.Geometry.SpatialReference(102100) }, // Lods = new Lod[19] //}; //// Set the resolutions for each level. Each level is half the resolution of the prevIoUs one. //double resolution = cornerCoordinate * 2 / 256; //for (int i = 0; i < TileInfo.Lods.Length; i++) //{ // TileInfo.Lods[i] = new Lod() { Resolution = resolution }; // resolution /= 2; //} //// Call base initialize to raise the initialization event //base.Initialize(); } private string setType="3"; public string SetType { get { return setType; } set { setType = value; } } public overrIDe string GetTileUrl(int level,int row,int col) { // int num = (col + (2 * row)) % 4; // string str = "&s="; // string str2 = "galileo"; // int length = ((col * 3) + row) % 8; // str = str + str2.Substring(0,length); // if (row >= 0x2710) // { // } // string str3 = "http://khm" + num.ToString() + ".Google.com/kh=49&x="; // return (str3 + col.ToString() + "&y=" + row.ToString() + "&z=" + level.ToString() + str); // string baseUrl = "http://mt2.Google.cn/vt/lyrs=m@167000000&hl=zh-CN&gl=cn&s=galil&x=";//
矢量图 // string baseUrl = "http://mt2.Google.cn/vt/lyrs=s@167000000&hl=zh-CN&gl=cn&s=galil&x=";//卫星图 //string cbaseUrl = "http://mt2.Google.cn/vt/lyrs=m@167000000&hl=zh-CN&gl=cn&x=0&y=0&z=0&s=galil";//市区图 // string baseUrl = "http://mt2.Google.cn/vt/lyrs=t@128&hl=zh-CN&gl=cn&s=galil&x=";//地形 //if (SetType == "1") //{ // baseUrl = "http://mt2.Google.cn/vt/lyrs=m@167000000&hl=zh-CN&gl=cn&s=galil&x=";//矢量 //} //else if (SetType == "2") //{ // baseUrl = "http://mt2.Google.cn/vt/lyrs=s@167000000&hl=zh-CN&gl=cn&s=galil&x=";//卫星 //} //else //{ // baseUrl = "http://mt2.Google.cn/vt/lyrs=t@128&hl=zh-CN&gl=cn&s=galil&x=";//地形 //} string url = "http://mt" + (col % 4) + ".Google.cn/vt/lyrs=t@169000000,m@169000000&v=w2.114&hl=zh-CN&gl=cn&" + "x=" + col + "&" + "y=" + row + "&" + "z=" + level + "&s=galil"; // string url = baseUrl + col.ToString() + "&y=" + row.ToString() + "&z=" + level.ToString() + ""; // string url2 = "http://API.tiles.virtualearth.net/API/GetMap.ashx?c=" + row.ToString() + "," + col.ToString() + "&z=" + level.ToString() + "&b=h,mkt.en-US&z=4&token={token}"; //string url3 = "http://mt{0}.Google.cn/vt/lyrs=s@88&gl=cn&x="; // string ur4 = url3 + col.ToString() + "&y=" + row.ToString() + "&z=" + level.ToString() + ""; return url; } } } 总结
以上是内存溢出为你收集整理的最新silverlight调用google地形图包含矢量全部内容,希望文章能够帮你解决最新silverlight调用google地形图包含矢量所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
评论列表(0条)