acmap可以直接显示arcserver上的地图服务,那ae也应该是可以的。

方法就是创建一个IAGSServerConnection,该接口的ServerObjectNames能获取serverobject的名称,其中就包括Service的名称。可以将IName转换为IMapServer对象,最后创建一个IMapServerLayer来显示。

            IAGSServerConnectionFactory connFac = new AGSServerConnectionFactoryClass();
            IPropertySet propertySet = new PropertySetClass();
            propertySet.SetProperty("machine", serverName);
            //propertySet.SetProperty("url", serverName);
            IAGSServerConnection conn = connFac.Open(propertySet, 0);
            IAGSEnumServerObjectName names = conn.ServerObjectNames;
            IAGSServerObjectName serviceObjName = null;
            IAGSServerObjectName temObjName = null;
            names.Reset();
            while ((temObjName = names.Next()) != null)
            {
                if (temObjName.Name == serviceName)
                { serviceObjName = temObjName; break; }
            }
            IMapServer mapServer = ((IName)serviceObjName).Open() as IMapServer;
            IMapServerLayer layer = new MapServerLayerClass();
            layer.ServerConnect(serviceObjName, mapServer.DefaultMapName);

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-12-27
  • 2022-01-13
  • 2022-01-11
  • 2021-11-17
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-01-17
  • 2022-12-23
  • 2021-09-29
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案