#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


