#1 Fri 20 May 2011 04:19
- Gis-Student
- Juste Inscrit !
- Date d'inscription: 21 Dec 2010
- Messages: 1
Affichage de sélection sur carte
Bonjour,
je suis entrain de développer une web mapping application sur VS2008 avec le serveur carto Arcgis SERVER 9.3
Lorsque je fais une requête attributaire sur les couches de la carte, je peux récuperer le nombre des features selectionnées dans un text box, le problème c'est que le résultat de cette requête ne s'affiche pas sur la carte sur le champs, mais ne se fait qu'apres avoir arréter le debogage : donc lorsque je demarre le debogage une seconde fois, je vois sur la carte les features de la derniere requete qui sont selectionnés!!
Voilà, j'espere avoir bien expliqué mon problème, voici le code de la requête:
Code:
Dim mapfunc As IMapFunctionality = Me.Map1.GetFunctionality(0) Dim ags_mr As ESRI.ArcGIS.ADF.Web.DataSources.ArcGISServer.MapResourceLocal ags_mr = CType(mapfunc.Resource, ESRI.ArcGIS.ADF.Web.DataSources.ArcGISServer.MapResourceLocal) Dim mapServer As ESRI.ArcGIS.Carto.IMapServer = CType(ags_mr.MapServer, IMapServer) Dim mapServerObjs As ESRI.ArcGIS.Carto.IMapServerObjects = CType(mapServer, IMapServerObjects) Dim map As ESRI.ArcGIS.Carto.IMap = mapServerObjs.Map("") Dim pServerContext As ESRI.ArcGIS.Server.IServerContext = ags_mr.ServerContextInfo.ServerContext Dim pFlayer As IFeatureLayer Dim pQueryFilter As IQueryFilter Dim mf As ESRI.ArcGIS.ADF.Web.DataSources.ArcGISServer.MapFunctionality mf = Map1.GetFunctionality(0) Dim mapDescription As ESRI.ArcGIS.ADF.ArcGISServer.MapDescription = mf.MapDescription pQueryFilter = pServerContext.CreateObject("esrigeodatabase.queryfilter") pQueryFilter.WhereClause = "DIAMETRE_NOMINAL ='" + ddlDiametre.Text + "'" Dim pFCursor As IFeatureCursor pFlayer = Rechercher_Layer_byname_in_carte(map, "SDE.CONDUITEDISTRIBUTION") pFCursor = pFlayer.Search(pQueryFilter, True) Dim pFeature As IFeature pFeature = pFCursor.NextFeature 'selectionner les entitées correspondantes Dim pActiveView As IActiveView Dim Pselect As IFeatureSelection Pselect = CType(pFlayer, IFeatureSelection) Pselect.SelectFeatures(pQueryFilter, esriSelectionResultNew, False) pActiveView = map pActiveView.Refresh() ' text box où je récupere le nombre d'entités selectionnées txtBox.Text = map.SelectionCount pnlRechercheDiametre.Refresh() Map1.Refresh()
Hors ligne