MgSiteConnection siteConn = new MgSiteConnection();
siteConn.Open(new MgUserInformation(sessionId));
MgResourceService resourceService = (MgResourceService)siteConn.CreateService(MgServiceType.ResourceService);
MgMap map = new MgMap();
map.Open(resourceService, mapName);
MgLayer layer = (MgLayer)map.GetLayers().GetItem(layerName);
MgFeatureService featureService = (MgFeatureService)siteConn.CreateService(MgServiceType.FeatureService);
MgResourceIdentifier resId = new MgResourceIdentifier(layer.GetFeatureSourceId());
MgFeatureQueryOptions queryOptions = new MgFeatureQueryOptions();
if (!queryString.Equals(""))
{
queryOptions.SetFilter(queryString);
}
MgFeatureReader featureReader = featureService.SelectFeatures(resId, layer.GetFeatureClassName(), queryOptions);
MgSelection selection = new MgSelection(map);
selection.AddFeatures(layer, featureReader, 0);
featureReader.Close();
return selection.ToXml();
脚本调用 window.iframeMap.viewerFrame.SetSelectionXML(msg); 进行显示
/实例:
Class_IntMap.InitializeWebTier();
MgSiteConnection AsiteConn = new MgSiteConnection();
AsiteConn.Open(new MgUserInformation(context.Session["GSessionID"].ToString()));
MgResourceService AresourceService = (MgResourceService)AsiteConn.CreateService(MgServiceType.ResourceService);
MgMap Amap = new MgMap();
Amap.Open(AresourceService, "GSMap");
MgLayer Alayer = (MgLayer)Amap.GetLayers().GetItem("C100002");
MgFeatureService AfeatureService = (MgFeatureService)AsiteConn.CreateService(MgServiceType.FeatureService);
MgResourceIdentifier AresId = new MgResourceIdentifier(Alayer.GetFeatureSourceId());
MgFeatureQueryOptions Aquery = new MgFeatureQueryOptions();
Aquery.SetFilter("name in (" + Ayh.Substring(0, Ayh.Length - 1) + ")");
MgFeatureReader AfeatureReader = AfeatureService.SelectFeatures(AresId, Alayer.GetFeatureClassName(), Aquery);
MgSelection Aselection = new MgSelection(Amap);
Aselection.AddFeatures(Alayer, AfeatureReader, 0);
AfeatureReader.Close();
context.Response.Write(Aselection.ToXml());