Dim identifyTask2 As New IdentifyTask("http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/" & "Demographics/ESRI_Census_USA/MapServer") Dim identifyTask2 As New IdentifyTask("http://services.arcgisonline.com/ArcGIS/rest/services/" & "Demographics/ESRI_Population_World/MapServer") Dim identifyTask2 As New IdentifyTask("http://services.arcgisonline.com/ArcGIS/rest/services/" & "Demographics/USA_Unemployment_Rate/MapServer") Dim identifyTask2 As New IdentifyTask("http://services.arcgisonline.com/ArcGIS/rest/services/" & "Reference/ESRI_BoundariesPlaces_World_2D/MapServer") Dim identifyTask2 As New IdentifyTask("http://services.arcgisonline.com/ArcGIS/rest/services/" & "Demographics/USA_Median_Household_Income/MapServer")
'=========================================================================================================================== ' IDENTIFY START '=========================================================================================================================== Private Sub QueryPoint_MouseClick(ByVal sender As Object, ByVal e As ESRI.ArcGIS.Client.Map.MouseEventArgs) Dim clickPoint As ESRI.ArcGIS.Client.Geometry.MapPoint = e.MapPoint Dim identifyParams As ESRI.ArcGIS.Client.Tasks.IdentifyParameters = New IdentifyParameters() With {.Geometry = clickPoint, .MapExtent = MyMap.Extent, .SpatialReference = MyMap.SpatialReference, .Width = CInt(Fix(MyMap.ActualWidth)), .Height = CInt(Fix(MyMap.ActualHeight)), .LayerOption = LayerOption.visible} Dim identifyTask2 As New IdentifyTask("http://services.arcgisonline.com/ArcGIS/rest/services/" & "Demographics/USA_Median_Household_Income/MapServer") AddHandler identifyTask2.ExecuteCompleted, AddressOf IdentifyTask2_ExecuteCompleted AddHandler identifyTask2.Failed, AddressOf IdentifyTask2_Failed identifyTask2.ExecuteAsync(identifyParams) Dim graphicsLayer As GraphicsLayer = TryCast(MyMap.Layers("MyLayer"), GraphicsLayer) graphicsLayer.ClearGraphics() Dim graphic As New ESRI.ArcGIS.Client.Graphic() With {.Geometry = clickPoint, .Symbol = PushPinPictureSymbol} graphicsLayer.Graphics.Add(graphic) End Sub Public Sub ShowFeatures(ByVal results As List(Of IdentifyResult)) _dataItems = New List(Of DataItem)() If results IsNot Nothing AndAlso results.Count > 0 Then IdentifyComboBox.Items.Clear() For Each result As IdentifyResult In results Dim feature As Graphic = result.Feature Dim title As String = result.Value.ToString() & " (" & result.LayerName & ")" _dataItems.Add(New DataItem() With {.Title = title, .Data = feature.Attributes}) IdentifyComboBox.Items.Add(title) Next result ' Workaround for bug with ComboBox IdentifyComboBox.UpdateLayout() IdentifyComboBox.SelectedIndex = 0 End If End Sub Private Sub cb_SelectionChanged(ByVal sender As Object, ByVal e As SelectionChangedEventArgs) Dim index As Integer = IdentifyComboBox.SelectedIndex If index > -1 Then IdentifyDetailsDataGrid.ItemsSource = _dataItems(index).Data End If End Sub Private Sub IdentifyTask_ExecuteCompleted(ByVal sender As Object, ByVal args As IdentifyEventArgs) IdentifyDetailsDataGrid.ItemsSource = Nothing If args.IdentifyResults IsNot Nothing AndAlso args.IdentifyResults.Count > 0 Then 'If DataGridScrollViewer.Visibility = Visibility.Collapsed Then If IdentifyResultsPanel.Visibility = Visibility.Collapsed Then IdentifyResultsPanel.Visibility = Visibility.Visible IdentifyGrid.Height = Double.NaN IdentifyGrid.UpdateLayout() End If ShowFeatures(args.IdentifyResults) Else IdentifyComboBox.Items.Clear() IdentifyComboBox.UpdateLayout() If IdentifyResultsPanel.Visibility = Visibility.Visible Then IdentifyResultsPanel.Visibility = Visibility.Collapsed IdentifyGrid.Height = Double.NaN IdentifyGrid.UpdateLayout() End If End If End Sub Public Class DataItem Private privateTitle As String Public Property Title() As String Get Return privateTitle End Get Set(ByVal value As String) privateTitle = value End Set End Property Private privateData As IDictionary(Of String, Object) Public Property Data() As IDictionary(Of String, Object) Get Return privateData End Get Set(ByVal value As IDictionary(Of String, Object)) privateData = value End Set End Property End Class Private Sub IdentifyTask_Failed(ByVal sender As Object, ByVal e As TaskFailedEventArgs) MessageBox.Show("Identify failed. Error: " & e.Error.Message) End Sub
Private Sub QueryPoint_MouseClick(ByVal sender As Object, ByVal e As ESRI.ArcGIS.Client.Map.MouseEventArgs) Dim clickPoint As ESRI.ArcGIS.Client.Geometry.MapPoint = e.MapPoint Dim identifyParams As ESRI.ArcGIS.Client.Tasks.IdentifyParameters = New IdentifyParameters() With {.Geometry = clickPoint, .MapExtent = MyMap.Extent, .Width = CInt(Fix(MyMap.ActualWidth)), .Height = CInt(Fix(MyMap.ActualHeight)), .LayerOption = LayerOption.visible} Dim identifyTask2 As New IdentifyTask("http://services.arcgisonline.com/ArcGIS/rest/services/" & "Demographics/USA_Median_Household_Income/MapServer") AddHandler identifyTask2.ExecuteCompleted, AddressOf IdentifyTask2_ExecuteCompleted AddHandler identifyTask2.Failed, AddressOf IdentifyTask2_Failed identifyTask2.ExecuteAsync(identifyParams) Dim graphicsLayer As GraphicsLayer = TryCast(MyMap.Layers("MyLayer"), GraphicsLayer) graphicsLayer.ClearGraphics() Dim graphic As New ESRI.ArcGIS.Client.Graphic() With {.Geometry = clickPoint, .Symbol = PushPinPictureSymbol} graphicsLayer.Graphics.Add(graphic) End Sub
Angemeldete Mitglieder können Beiträge verfassen, Updates folgen und mehr. Neu hier? Registriere ein kostenloses Konto.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.