1. 程式人生 > >Engine加載ArcGIS Online和ArcGIS Server發布的地圖服務

Engine加載ArcGIS Online和ArcGIS Server發布的地圖服務

測試 ice break iso AD gis enum tor soname

兩種方式:
1. 可以通過遍歷的方式,根據地圖服務的名稱進行判斷,然後加載。

IAGSServerObjectName pSOName = null; 
IAGSServerObjectName psoname = null; 
IAGSServerConnection con = new AGSServerConnection(); 
IAGSServerConnectionFactory2 confactory = new AGSServerConnectionFactory() as IAGSServerConnectionFactory2; 
IPropertySet propertyset 
= new PropertySet(); IMapServerLayer mapserverlayer = new MapServerLayerClass(); propertyset.SetProperty(URL, http://192.168.220.116:6080/arcgis/rest/services); con = confactory.Open(propertyset, 0); IAGSEnumServerObjectName enumSOName = con.ServerObjectNames; pSOName = enumSOName.Next(); while (pSOName != null
) { if (pSOName.Name == MyMapService1) { psoname = pSOName; break; } pSOName = enumSOName.Next(); } IName pName = psoname as IName; IMapServer mapserver = pName.Open() as IMapServer; mapserverlayer.ServerConnect(pSOName, mapserver.DefaultMapName); axMapControl1.AddLayer(mapserverlayer as
ILayer); axMapControl1.Refresh();

2. Engine 10.1及之後版本的話可以使用IMapServerRESTLayer加載,測試代碼:

IMapServerRESTLayer mapServerRESTLayer = new MapServerRESTLayerClass();
            mapServerRESTLayer.Connect(http://cache1.arcgisonline.cn/ArcGIS/rest/services/ChinaOnlineStreetPurplishBlue/MapServer);

            axMapControl1.AddLayer(mapServerRESTLayer as ILayer);
            axMapControl1.Refresh();

Engine加載ArcGIS Online和ArcGIS Server發布的地圖服務