/// <summary>
/// 打开离线地图(离线地图格式支持 太乐地图下载器 下载的库文件格式.azdb)
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button1_Click(object sender, System.EventArgs e)
{
using (FileDialog dlg = new OpenFileDialog())
{
// bin\Debug\azdb 目录下有一个现成的azdb文件
dlg.InitialDirectory = AppDomain.CurrentDomain.BaseDirectory + @"azdb";
dlg.CheckPathExists = true;
dlg.CheckFileExists = false;
dlg.AddExtension = true;
dlg.ValidateNames = true;
dlg.Title = "选择文件(支持太乐地图下载器下载的库文件格式)";
dlg.FilterIndex = 1;
dlg.RestoreDirectory = false;
dlg.Filter =
"太乐地图库文件 (*.azdb)|*.azdb";
if (dlg.ShowDialog() == DialogResult.OK)
{
String azdbFile = dlg.FileName;
if (!File.Exists(azdbFile))
{
MessageBox.Show("文件不存在!");
return;
}
// 初始化AZDBMapProvider
var azdbProvider = new AZDBMapProvider();
var setting = new AZDBMapProviderSetting { AZDBFile = azdbFile };
azdbProvider.Initialize(setting);
// 切换地图
MapControl.MapProvider = azdbProvider;
MapControl.ReloadMap();
// 定位到azdb格式地图所在位置和级别
var min = azdbProvider.MinZoom;
if (min == 0)
min = 1;
var max = azdbProvider.MaxZoom;
MapControl.Zoom = (double)(min + (max - min) / 2);
MapControl.Position = azdbProvider.GetBounds().LocationMiddle;
}
}
}
|