Dim queryTask As New QueryTask("http://gis.logis.org/arcgis/rest/services/MG_Test_WGS84/MapServer/8")
AddHandler queryTask.ExecuteCompleted, AddressOf QueryTaskFindPID_ExecuteCompletedSearch
AddHandler queryTask.ExecuteCompleted, AddressOf QueryTask_ExecuteCompletedSpatialQuery
AddHandler queryTask.ExecuteCompleted, AddressOf QueryTask_ExecuteCompletedBuffer2
AddHandler queryTask.Failed, AddressOf QueryTaskFindPID_FailedSearch
Private Sub QueryTask_ExecuteCompletedBuffer2(ByVal sender As Object, ByVal args As ESRI.ArcGIS.Client.Tasks.QueryEventArgs)
' BUFFER
_geometryService = New GeometryService("http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/Geometry/GeometryServer")
AddHandler _geometryService.BufferCompleted, AddressOf GeometryService_BufferCompleted
AddHandler _geometryService.Failed, AddressOf GeometryService_Failed
_queryTask = New QueryTask("http://gis.logis.org/arcgis/rest/services/MG_Test_WGS84/MapServer/1")
AddHandler _queryTask.ExecuteCompleted, AddressOf QueryTask_ExecuteCompletedBuffer
AddHandler _queryTask.Failed, AddressOf QueryTask_Failed
_pointAndBufferGraphicsLayer = TryCast(MyMap.Layers("MyGraphicsLayerBuffer"), GraphicsLayer)
_resultsGraphicsLayer = TryCast(MyMap.Layers("MyGraphicsLayerBufferResults"), GraphicsLayer)
Dim clickGraphic As New Graphic()
clickGraphic.Symbol = TryCast(LayoutRoot.Resources("DefaultMarkerSymbol2"), ESRI.ArcGIS.Client.Symbols.Symbol)
clickGraphic.Geometry = e.MapPoint
' Input spatial reference for buffer operation defined by first feature of input geometry array
clickGraphic.Geometry.SpatialReference = MyMap.SpatialReference
_pointAndBufferGraphicsLayer.ClearGraphics()
_resultsGraphicsLayer.ClearGraphics()
clickGraphic.SetZIndex(2)
_pointAndBufferGraphicsLayer.Graphics.Add(clickGraphic)
' If buffer spatial reference is GCS and unit is linear, geometry service will do geodesic buffering
Dim bufferParams As New ESRI.ArcGIS.Client.Tasks.BufferParameters() With
{
.BufferSpatialReference = New SpatialReference(4326),
.OutSpatialReference = MyMap.SpatialReference,
.Unit = LinearUnit.Meter
}
bufferParams.Distances.Add(4000)
bufferParams.Features.Add(clickGraphic)
_geometryService.BufferAsync(bufferParams)
End Sub
Private Sub QueryTask_ExecuteCompletedBuffer1(ByVal sender As Object, ByVal args As ESRI.ArcGIS.Client.Tasks.QueryEventArgs)
'Private Sub QueryTask_ExecuteCompletedBuffer2(ByVal sender As Object, ByVal args As ESRI.ArcGIS.Client.Tasks.GraphicsEventArgs)
_geometryService = New GeometryService("http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/Geometry/GeometryServer")
AddHandler _geometryService.BufferCompleted, AddressOf GeometryService_BufferCompleted2
AddHandler _geometryService.Failed, AddressOf GeometryService_Failed2
_queryTask = New QueryTask("http://gis.logis.org/arcgis/rest/services/MG_Test_WGS84/MapServer/1")
AddHandler _queryTask.ExecuteCompleted, AddressOf QueryTask_ExecuteCompletedBuffer2
AddHandler _queryTask.Failed, AddressOf QueryTask_Failed2
_pointAndBufferGraphicsLayer = TryCast(MyMap.Layers("MyGraphicsLayerBuffer"), GraphicsLayer)
_resultsGraphicsLayer = TryCast(MyMap.Layers("MyGraphicsLayerBufferResults"), GraphicsLayer)
Dim featureSet As FeatureSet = args.FeatureSet
If featureSet Is Nothing OrElse featureSet.Features.Count < 1 Then
MessageBox.Show("No features retured from query")
Return
End If
If featureSet IsNot Nothing AndAlso featureSet.Features.Count > 0 Then
For Each feature As Graphic In featureSet.Features
Dim clickGraphic As New Graphic()
clickGraphic.Symbol = TryCast(LayoutRoot.Resources("DefaultMarkerSymbol2"), ESRI.ArcGIS.Client.Symbols.Symbol)
clickGraphic.Geometry = feature.Geometry
' Input spatial reference for buffer operation defined by first feature of input geometry array
clickGraphic.Geometry.SpatialReference = MyMap.SpatialReference
_pointAndBufferGraphicsLayer.ClearGraphics()
_resultsGraphicsLayer.ClearGraphics()
clickGraphic.SetZIndex(2)
_pointAndBufferGraphicsLayer.Graphics.Add(clickGraphic)
' If buffer spatial reference is GCS and unit is linear, geometry service will do geodesic buffering
Dim bufferParams As New ESRI.ArcGIS.Client.Tasks.BufferParameters() With
{
.BufferSpatialReference = New SpatialReference(4326),
.OutSpatialReference = MyMap.SpatialReference,
.Unit = LinearUnit.Meter
}
bufferParams.Distances.Add(4000)
bufferParams.Features.Add(clickGraphic)
_geometryService.BufferAsync(bufferParams)
Next feature
End If
End Sub
_pointAndBufferGraphicsLayer = TryCast(MyMap.Layers("MyGraphicsLayerBuffer"), GraphicsLayer)
_resultsGraphicsLayer = TryCast(MyMap.Layers("MyGraphicsLayerBufferResults"), GraphicsLayer)
'====================================
Dim featureSet As FeatureSet = args.FeatureSet
If featureSet Is Nothing OrElse featureSet.Features.Count < 1 Then
MessageBox.Show("No features retured from query")
Return
End If
If featureSet IsNot Nothing AndAlso featureSet.Features.Count > 0 Then
For Each feature As Graphic In featureSet.Features
Dim selectedFeature As Graphic = featureSet.Features(0)
Dim clickGraphic As New Graphic()
clickGraphic.Symbol = TryCast(LayoutRoot.Resources("DefaultMarkerSymbol2"), ESRI.ArcGIS.Client.Symbols.Symbol)
'clickGraphic.Geometry = feature.Geometry
clickGraphic.Geometry = selectedFeature.Geometry
' If buffer spatial reference is GCS and unit is linear, geometry service will do geodesic buffering
Dim bufferParams As New ESRI.ArcGIS.Client.Tasks.BufferParameters() With
{
.BufferSpatialReference = New SpatialReference(4326),
.OutSpatialReference = MyMap.SpatialReference,
.Unit = LinearUnit.Meter
}
bufferParams.Distances.Add(0.05)
bufferParams.Features.Add(clickGraphic)
_geometryService.BufferAsync(bufferParams)