Selection and Zoom Problem
Markus Roth
m.roth at gds-team.de
Wed Nov 8 08:54:38 EST 2006
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/727e651c/attachment.html
More information about the Mapguide-users
mailing list