Mini Kabibi Habibi

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

using System;
using System.Windows.Forms;
using System.Drawing;
using System.Collections.Generic;
using DevExpress.XtraEditors.Controls;

namespace DevExpress.XtraMap.Demos {

    public partial class DataProviders : MapTutorialControl {
        const int BingMapsProviderID = 0;
        const int OpenStreetMapProviderID = 1;

        ImageTilesLayer ImageTilesLayer { get { return (ImageTilesLayer)(mapControl1.Layers[0]); } }

        public DataProviders() {
            InitializeComponent();
            InitBingMapsKindRadioGroup();
            grDataProviders.SelectedIndex = 0;
        }
        void 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;
        }
        void UpdateDataProvider(MapDataProviderBase provider) {
            ImageTilesLayer.DataProvider = provider;
        }

        void DataProviderGroup_SelectedIndexChanged(object sender, EventArgs e) {
            int providerId = Convert.ToInt32(grDataProviders.EditValue);
            MapDataProviderBase provider = null;
            switch (providerId) {
                case BingMapsProviderID:
                    mapControl1.BackColor = Color.FromArgb(1, 7, 21);
                    provider = CreateBingDataProvider((BingMapKind)rbgrBingMapKind.EditValue);
                    break;
                case OpenStreetMapProviderID: {
                        mapControl1.BackColor = Color.FromArgb(181, 208, 208);
                        provider = new OpenStreetMapDataProvider();
                        break;
                    }
            }
            UpdateDataProvider(provider);
            rbgrBingMapKind.Visible = providerId == BingMapsProviderID;
            lblMapKind.Visible = providerId == BingMapsProviderID;
        }

        void OnBingMapsMapKindChanged(object sender, EventArgs e) {
            SetBingProviderMapKind(ImageTilesLayer.DataProvider as BingMapDataProvider, (BingMapKind)rbgrBingMapKind.EditValue);
        }
        void SetBingProviderMapKind(BingMapDataProvider bingMapDataProvider, BingMapKind kind) {
            if(bingMapDataProvider != null) {
                mapControl1.BackColor = Object.Equals(kind, BingMapKind.Road) ? Color.FromArgb(187, 208, 237) : Color.FromArgb(1, 7, 21);
                bingMapDataProvider.Kind = kind;
            }
        }
    }

}