Common_CustomTasks_VBNet\FindNearTask_VBNet\GraphicsResource.vb
' Copyright 2010 ESRI ' ' All rights reserved under the copyright laws of the United States ' and applicable international laws, treaties, and conventions. ' ' You may freely redistribute and use this sample code, with or ' without modification, provided you include the original copyright ' notice and use restrictions. ' ' See the use restrictions. ' Imports Microsoft.VisualBasic Imports System Namespace FindNearTask_VBNet ''' <summary> ''' Summary description for InputGraphicsLayer ''' </summary> Friend Class GraphicsResource Public Sub New(ByVal resourceName As String, ByVal map As ESRI.ArcGIS.ADF.Web.UI.WebControls.Map) Me.ResourceName = resourceName Me.initialize(map) End Sub Public ResourceName As String Private Sub initialize(ByVal mapInstance As ESRI.ArcGIS.ADF.Web.UI.WebControls.Map) Dim resourceItem As ESRI.ArcGIS.ADF.Web.UI.WebControls.MapResourceItem = mapInstance.MapResourceManagerInstance.ResourceItems.Find(ResourceName) If resourceItem Is Nothing Then ' #Region "Create graphics resource" resourceItem = New ESRI.ArcGIS.ADF.Web.UI.WebControls.MapResourceItem() resourceItem.Definition = New ESRI.ArcGIS.ADF.Web.UI.WebControls.GISResourceItemDefinition("<Definition DataSourceDefinition=""In Memory"" DataSourceType=""GraphicsLayer"" Identity="""" ResourceDefinition="""" DataSourceShared=""True""></Definition>") resourceItem.Name = ResourceName resourceItem.DisplaySettings = New ESRI.ArcGIS.ADF.Web.DisplaySettings() resourceItem.DisplaySettings.Visible = True resourceItem.DisplaySettings.Transparency = 25 resourceItem.DisplaySettings.DisplayInTableOfContents = False resourceItem.DisplaySettings.ImageDescriptor = New ESRI.ArcGIS.ADF.Web.ImageDescriptor(ESRI.ArcGIS.ADF.Web.UI.WebControls.Converter.FromWebImageFormat(mapInstance.ImageFormat), CInt(Fix(mapInstance.Width.Value)), CInt(Fix(mapInstance.Height.Value))) mapInstance.MapResourceManagerInstance.ResourceItems.Insert(0, resourceItem) resourceItem.DisplaySettings.ImageDescriptor.TransparentBackground = True resourceItem.DisplaySettings.ImageDescriptor.TransparentColor = System.Drawing.Color.FromArgb(1, 1, 1) Dim resource As ESRI.ArcGIS.ADF.Web.DataSources.Graphics.MapResource = TryCast(resourceItem.CreateResource(), ESRI.ArcGIS.ADF.Web.DataSources.Graphics.MapResource) ' #End Region ' #Region "Add layer to dataset" Dim elementGraphicsLayer As ESRI.ArcGIS.ADF.Web.Display.Graphics.ElementGraphicsLayer = New ESRI.ArcGIS.ADF.Web.Display.Graphics.ElementGraphicsLayer() elementGraphicsLayer.TableName = "User Input Graphics Layer" resource.Graphics = New ESRI.ArcGIS.ADF.Web.Display.Graphics.GraphicsDataSet() resource.Graphics.DataSetName = "FindNearTask Input Graphics" resource.Graphics.Tables.Add(elementGraphicsLayer) elementGraphicsLayer = New ESRI.ArcGIS.ADF.Web.Display.Graphics.ElementGraphicsLayer() elementGraphicsLayer.TableName = "Buffer Graphics Layer" resource.Graphics.Tables.Add(elementGraphicsLayer) ' #End Region ' #Region "Initialize resource and functionalities" If mapInstance.MapResourceManagerInstance.Initialized Then resourceItem.InitializeResource() End If If mapInstance.InitializedFunctionalities Then mapInstance.InitializeFunctionality(resourceItem) End If ' #End Region End If End Sub Public Function GetUserInputLayer(ByVal mapResourceManager As ESRI.ArcGIS.ADF.Web.UI.WebControls.MapResourceManager) As ESRI.ArcGIS.ADF.Web.Display.Graphics.ElementGraphicsLayer Return Me.GetLayer(mapResourceManager, "User Input Graphics Layer") End Function Public Function GetBufferLayer(ByVal mapResourceManager As ESRI.ArcGIS.ADF.Web.UI.WebControls.MapResourceManager) As ESRI.ArcGIS.ADF.Web.Display.Graphics.ElementGraphicsLayer Return Me.GetLayer(mapResourceManager, "Buffer Graphics Layer") End Function Private Function GetLayer(ByVal mapResourceManager As ESRI.ArcGIS.ADF.Web.UI.WebControls.MapResourceManager, ByVal layerName As String) As ESRI.ArcGIS.ADF.Web.Display.Graphics.ElementGraphicsLayer Dim resourceItem As ESRI.ArcGIS.ADF.Web.UI.WebControls.MapResourceItem = mapResourceManager.ResourceItems.Find(ResourceName) If (Not resourceItem.Resource.Initialized) Then resourceItem.InitializeResource() End If Dim resource As ESRI.ArcGIS.ADF.Web.DataSources.Graphics.MapResource = TryCast(resourceItem.Resource, ESRI.ArcGIS.ADF.Web.DataSources.Graphics.MapResource) If Not resource Is Nothing AndAlso Not resource.Graphics Is Nothing AndAlso Not resource.Graphics.Tables(layerName) Is Nothing Then Return TryCast(resource.Graphics.Tables(layerName), ESRI.ArcGIS.ADF.Web.Display.Graphics.ElementGraphicsLayer) End If Return Nothing End Function End Class End Namespace