Mini Kabibi Habibi

Current Path : C:/Users/Public/Documents/DXperience 13.1 Demos/WinForms/VB/MapMainDemo/Modules/
Upload File :
Current File : C:/Users/Public/Documents/DXperience 13.1 Demos/WinForms/VB/MapMainDemo/Modules/DataProviders.vb

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