Mini Kabibi Habibi
Imports Microsoft.VisualBasic
Imports System
Imports System.Windows.Forms
Imports System.Drawing
Imports System.Collections.Generic
Imports DevExpress.XtraEditors.Controls
Namespace DevExpress.XtraMap.Demos
Partial Public Class DataProviders
Inherits MapTutorialControl
Private Const BingMapsProviderID As Integer = 0
Private Const OpenStreetMapProviderID As Integer = 1
Private ReadOnly Property ImageTilesLayer() As ImageTilesLayer
Get
Return CType(mapControl1.Layers(0), ImageTilesLayer)
End Get
End Property
Public Sub New()
InitializeComponent()
InitBingMapsKindRadioGroup()
grDataProviders.SelectedIndex = 0
End Sub
Private Sub InitBingMapsKindRadioGroup()
rbgrBingMapKind.Properties.Items.Add(New RadioGroupItem(BingMapKind.Area, BingMapKind.Area.ToString()))
rbgrBingMapKind.Properties.Items.Add(New RadioGroupItem(BingMapKind.Road, BingMapKind.Road.ToString()))
rbgrBingMapKind.Properties.Items.Add(New RadioGroupItem(BingMapKind.Hybrid, BingMapKind.Hybrid.ToString()))
rbgrBingMapKind.SelectedIndex = 3
End Sub
Private Sub UpdateDataProvider(ByVal provider As MapDataProviderBase)
ImageTilesLayer.DataProvider = provider
End Sub
Private Sub DataProviderGroup_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) Handles grDataProviders.SelectedIndexChanged
Dim providerId As Integer = Convert.ToInt32(grDataProviders.EditValue)
Dim provider As MapDataProviderBase = Nothing
Select Case providerId
Case BingMapsProviderID
mapControl1.BackColor = Color.FromArgb(1, 7, 21)
provider = CreateBingDataProvider(CType(rbgrBingMapKind.EditValue, BingMapKind))
Case OpenStreetMapProviderID
mapControl1.BackColor = Color.FromArgb(181, 208, 208)
provider = New OpenStreetMapDataProvider()
Exit Select
End Select
UpdateDataProvider(provider)
rbgrBingMapKind.Visible = providerId = BingMapsProviderID
lblMapKind.Visible = providerId = BingMapsProviderID
End Sub
Private Sub OnBingMapsMapKindChanged(ByVal sender As Object, ByVal e As EventArgs) Handles rbgrBingMapKind.SelectedIndexChanged
SetBingProviderMapKind(TryCast(ImageTilesLayer.DataProvider, BingMapDataProvider), CType(rbgrBingMapKind.EditValue, BingMapKind))
End Sub
Private Sub SetBingProviderMapKind(ByVal bingMapDataProvider As BingMapDataProvider, ByVal kind As BingMapKind)
If bingMapDataProvider IsNot Nothing Then
mapControl1.BackColor = If(Object.Equals(kind, BingMapKind.Road), Color.FromArgb(187, 208, 237), Color.FromArgb(1, 7, 21))
bingMapDataProvider.Kind = kind
End If
End Sub
End Class
End Namespace