IPropertySet pPropertSet = new PropertySetClass();
pPropertSet.SetProperty("url", url);//wms的服务地址
pPropertSet.SetProperty("version", version);//此处必须设置与wms服务一样的版本号,否则会在Connect 报错
IWMSConnectionName pWmsConnectionName = new WMSConnectionNameClass();
pWmsConnectionName.ConnectionProperties = pPropertSet;
ILayerFactory pLayerFactory = new EngineWMSMapLayerFactoryClass();
IWMSGroupLayer pWmsMapLayer = new WMSMapLayerClass();
IDataLayer pDataLayer = pWmsMapLayer as IDataLayer;
pDataLayer.Connect(pWmsConnectionName as IName);
IWMSServiceDescription pWmsServiceDesc = pWmsMapLayer.WMSServiceDescription;
for (int i = 0; i < pWmsServiceDesc.LayerDescriptionCount; i++)
{
IWMSLayerDescription pWmsLayerDesc = pWmsServiceDesc.get_LayerDescription(i);
ILayer pNewLayer = null;
if (pWmsLayerDesc.LayerDescriptionCount == 0)
{
IWMSLayer pWmsLayer = pWmsMapLayer.CreateWMSLayer(pWmsLayerDesc);
pNewLayer = pWmsLayer as ILayer;
}
else
{
IWMSGroupLayer pWmsGrouplayer = pWmsMapLayer.CreateWMSGroupLayers(pWmsLayerDesc);
for (int j = 0; j < pWmsGrouplayer.Count; j++)
{
ILayer layer = pWmsGrouplayer.get_Layer(j);
if (layer.Name == "admin")
{
pWmsMapLayer.InsertLayer(layer, 0);
layer.Visible = true;
break;
}
}
}
}
ILayer pLayer = pWmsMapLayer as ILayer;
pLayer.Name = pWmsServiceDesc.WMSTitle;
pMap.AddLayer(pLayer);
arcgis engine10.0 调用wms地图服务
最新推荐文章于 2023-02-01 16:19:01 发布