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