Mini Kabibi Habibi
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;
}
}
}
}