[mapguide-users] Selection and Zoom Problem

Andy Morsell amorsell at spatialgis.com
Wed Nov 8 11:31:50 EST 2006


Try saving the selection object to the server after you build it.  Something
like:
 
Selection.Save(resourceService, mapname)
 

Andy Morsell, P.E. 
Spatial Integrators, Inc. 
http://www.SpatialGIS.com 

  _____  

From: Markus Roth [mailto:m.roth at gds-team.de] 
Sent: Wednesday, November 08, 2006 5:55 AM
To: users at mapguide.osgeo.org
Subject: [mapguide-users] Selection and Zoom Problem



Hello,

 

I have a problem with selections. In my .aspx  (VB) site I generate the
selection string for the javascript. This works fine, but the feature is not
highlighted and no properties are shown in the Properties frame!?! But in
the statusbar the Info is shown that 1 feature is selected. I only use one
layer that is based on sdf file.

When I push the Button "Zoom to selection" after one feature is selected,
the map always zooms to coordinates X: 0.0 ; Y: 0.0!

Has anyone an idea what is wrong?

 

This is a sample of a generated selection string:

<?xml version="1.0" encoding="UTF-8"?><FeatureSet
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="FeatureSet-1.0.0.xsd"> <Layer
id="e82e9c52-ffff-ffff-8000-000cf1ae97f8">  <Class
id="SDF_2_Schema:sp_Lieg_flurstueck_F">   <ID>MTc2MQA=</ID>  </Class>
</Layer></FeatureSet>

 

Here is my code:

 

Code from aspx.vb site:

 

Private Function SelectionOb(ByVal Filter As String, ByVal LayerName As
String)

 

        Try

            MapGuideApi.MgInitializeWebTier(". Path to webconfig.ini")

 

            '##

            Dim userInfo As New MgUserInformation(sessionID)

 

            '##

            Dim siteConnection As New MgSiteConnection()

            siteConnection.Open(userInfo)

 

            '##

            Dim resourceService As MgResourceService =
siteConnection.CreateService(MgServiceType.ResourceService)

            Dim featureService As MgFeatureService =
siteConnection.CreateService(MgServiceType.FeatureService)

            Dim renderingService As MgRenderingService =
siteConnection.CreateService(MgServiceType.RenderingService)

 

            '##

            Dim MapDefID As New MgResourceIdentifier(mapDefinition)

            Dim Map As New MgMap()

            Dim mapname As String

            mapname = MapDefID.GetName()

            Map.Open(resourceService, mapname)

 

            '##

            Dim layers As MgLayerCollection = Map.GetLayers()

            Dim layer As MgLayer

            Dim layername1 As String = ""

            Dim i As Integer = 0

            Do Until layername1 = LayerName

                layer = layers.GetItem(i)

                layername1 = layer.GetName()

                i += 1

            Loop

 

            '##

            Dim query As New MgFeatureQueryOptions()

            query.SetFilter(Filter)

            Dim featureClassName As String = layer.GetFeatureClassName()

            Dim featureSource As MgResourceIdentifier = New
MgResourceIdentifier(layer.GetFeatureSourceId())

            Dim features As MgFeatureReader =
featureService.SelectFeatures(featureSource, featureClassName, query)

            Dim hasResult As Boolean = features.ReadNext()

            Dim Selection As MgSelection = New MgSelection(Map)

 

            Select Case features.GetPropertyType("Key")

                Case MgPropertyType.Int32

                    Selection.AddFeatureIdInt32(layer, featureClassName,
features.GetInt32("Key"))

                Case MgPropertyType.String

                    Selection.AddFeatureIdString(layer, featureClassName,
features.GetString("Key"))

            End Select

 

            selectiontext = Selection.ToXml()

            TextBox1.Text = selectiontext

            

            layer.ForceRefresh()

            Map.Save(resourceService)

 

            features.Close()

            query = Nothing

 

        Catch ex As Exception

            Label1.Text = ex.ToString

        End Try

    End Function

 

 

The javascript:

 

function Select(){

var seltext = '<%=selectiontext %>';

parent.parent.mapFrame.SetSelectionXML(seltext);

}

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/mapguide-users/attachments/20061108/bec21819/attachment.html


More information about the Mapguide-users mailing list