1. 数据介绍
网络地图数据是在线地图服务发布出来的数据,其支持数据的网络查看和传输,极大的促进了GIS的发展。
目前PIE SDK支持百度地图、谷歌地图、高德地图、天地图、Bing地图、ArcGIS Server发布的服务、宏图影像等在线地图的加载和显示。
2. 实现思路及原理说明
第一步 |
根据不同的在线地图类型,实例化不同的图层对象; |
第二步 |
将图层加载到地图并刷新; |
3. 核心接口与方法
接口/类 |
方法 |
说明 |
HTHTTiledLayer |
|
宏图图层对象接口 |
TDTTiledLayer |
|
天地图图层对象 |
ArcGISImageTiledLayer |
|
地图服务图层对象 |
ArcGISImageDynamicLayer |
|
瓦片地图图层对象 |
ArcGISMapDynamicLayer |
|
动态地图服务图层对象 |
CustomerOnlineTiledLayer |
|
自定义在线地图图层对象接口 |
4. 示例代码
项目名称 |
百度云盘地址下/PIE示例程序/03.数据加载/09.打开网络地图数据 |
视频位置 |
百度云盘地址下/PIE视频教程/03.数据加载/09.打开网络地图数据.avi |
示例代码 |
|
1 方法一:添加天地图地图服务 2 FormTDTLayer frm = new FormTDTLayer(); 3 if (frm.ShowDialog() == DialogResult.OK) 4 { 5 //构建在线地图 6 PIE.Carto.TDTTiledLayer tdtLayer = new PIE.Carto.TDTTiledLayer(frm.Url); 7 ILayer returnLayer = tdtLayer as ILayer; 8 returnLayer.Name = "天地图在线地图"; 9 tdtLayer.TType = frm.TDTType; 10 11 //添加至地图控件 12 mapControlMain.FocusMap.AddLayer(returnLayer); mapControlMain.ActiveView.PartialRefresh(ViewDrawPhaseType.ViewAll); 13 } 14 15 方法二:添加谷歌、高德地图服务 16 FormLoadArcGISImage frm = new FormLoadArcGISImage(); 17 IList<int> hostList = new List<int>(); 18 hostList.Add(0); hostList.Add(1); hostList.Add(2); hostList.Add(3); 19 if (frm.ShowDialog() == DialogResult.OK) 20 { 21 //根据服务地址,构建在线地图 22 ICustomerOnlineTiledLayer onLineLayer = new CustomerOnlineTiledLayer(frm.URL); 23 onLineLayer.SetHostList(hostList); 24 ILayer returnLayer = onLineLayer as ILayer; 25 returnLayer.Name = "在线地图"; 26 27 //添加至地图控件 28 mapControlMain.FocusMap.AddLayer(returnLayer); 29 mapControlMain.ActiveView.PartialRefresh(ViewDrawPhaseType.ViewAll); 30 } |