Private Sub MainPage_Loaded(ByVal sender As Object, ByVal e As System.Windows.RoutedEventArgs) Handles Me.Loaded
'MessageBox.Show("MainPage_Loaded")
' Create an ArcGISDynamicServiceLayer. The Map object (a Map class) was previously defined in XAML.
Dim myArcGISDynamicMapServiceLayer As New ESRI.ArcGIS.Client.ArcGISDynamicMapServiceLayer
myArcGISDynamicMapServiceLayer.Url = "http://www..../ArcGIS/rest/services/Atlas/Atlas/MapServer"
myArcGISDynamicMapServiceLayer.ID = "MCAtlasService"
myArcGISDynamicMapServiceLayer.Visible = False
AddHandler myArcGISDynamicMapServiceLayer.Initialized, AddressOf myArcGISDynamicMapServiceLayer_Initialized
MyMap.Layers.Add(myArcGISDynamicMapServiceLayer)
End Sub
Private Sub myArcGISDynamicMapServiceLayer_Initialized(ByVal sender As Object, ByVal e As EventArgs)
'Throw New NotImplementedException
Dim myArcGISDynamicMapServiceLayer As ESRI.ArcGIS.Client.ArcGISDynamicMapServiceLayer = MyMap.Layers("MCAtlasService")
Dim myLayerInfo() As ESRI.ArcGIS.Client.LayerInfo = myArcGISDynamicMapServiceLayer.Layers
Dim nameArray() As String = {"Townships", "Sections", "City Limits", "Counties"}
Dim basePath As String = "http://www..../ArcGIS/rest/services/Atlas/Atlas/MapServer/"
Dim layerPath As String = "NA"
If myLayerInfo.Length > 0 Then
For Each l In nameArray
Dim i As Integer
For i = 0 To myLayerInfo.Length - 1
'MessageBox.Show(myLayerInfo(i).Name + " | " + l)
If myLayerInfo(i).Name = l Then
layerPath = basePath + myLayerInfo(i).ID.ToString
Dim myFeatureLayer As New ESRI.ArcGIS.Client.FeatureLayer
myFeatureLayer.Url = layerPath
myFeatureLayer.ID = myLayerInfo(i).Name
If Not (getLegend(myLayerInfo(i).Name) Is Nothing) Then
myFeatureLayer.FeatureSymbol = getLegend(myLayerInfo(i).Name)
End If
If Not (getRenderer(myLayerInfo(i).Name) Is Nothing) Then
myFeatureLayer.Renderer = getRenderer(myLayerInfo(i).Name)
End If
'myFeatureLayer.MapTip.
MyMap.Layers.Add(myFeatureLayer)
End If
Next
Next
End If
End Sub
Private Function getLegend(ByVal layername As String)
Select Case layername
Case "Sections"
getLegend = SectionsSymbol
Case "Townships"
getLegend = TownshipsSymbol
Case "City Limits"
getLegend = CityLimitSymbol
Case "Counties"
getLegend = CountiesSymbol
Case Else
getLegend = Nothing
End Select
End Function
Private Function getRenderer(ByVal layername As String)
Select Case layername
Case "Major Roads"
getRenderer = RoadRenderer
Case Else
getRenderer = Nothing
End Select
End Function