Gmap.Net Cant Prefetch Tiles
Я пытаюсь использовать Gmap.net в своем приложении, и я пытаюсь предварительно выбрать плитки для последующего использования в автономном режиме.
Мой пример кода:
private void MapView_Loaded(object sender, RoutedEventArgs e)
{
MapView.CacheLocation = AppDomain.CurrentDomain.BaseDirectory + @"\MapCache";
GMap.NET.GMaps.Instance.Mode = GMap.NET.AccessMode.ServerAndCache;
//Chosing provider. OpenStreetMap provider is the only free one in commercial projects.
MapView.MapProvider = GMap.NET.MapProviders.OpenStreetMapProvider.Instance;
//Clear cache
//GMap.NET.GMaps.Instance.OptimizeMapDb(null);
MapView.MinZoom = 2;
MapView.MaxZoom = 17;
//// whole world zoom
MapView.Zoom = 2;
//// lets the map use the mousewheel to zoom
MapView.MouseWheelZoomType = GMap.NET.MouseWheelZoomType.MousePositionAndCenter;
//// lets the user drag the map
MapView.CanDragMap = true;
//// lets the user drag the map with the left mouse button
MapView.DragButton = MouseButton.Left;
}
private void Button_Click(object sender, RoutedEventArgs e)
{
GMap.NET.RectLatLng area = MapView.SelectedArea;
if (!area.IsEmpty)
{
for (int i = (int)MapView.Zoom; i <= MapView.MaxZoom; i++)
{
TilePrefetcher obj = new TilePrefetcher();
obj.Title = "Prefetching Tiles";
obj.Icon = this.Icon;
obj.Owner = this;
obj.ShowCompleteMessage = false;
obj.Start(area, i, MapView.MapProvider, 100);
}
DialogResult = true;
Close();
}
else
{
MessageBox.Show("No Area Chosen", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
}
}
Проблема в том, что когда я смотрю на файл Data.gmdb, его размер всегда составляет 32,928 МБ. Я вижу сообщения об ошибке "Ошибка SQLite (5): база данных заблокирована" в консоли, пока я выполняю предварительную загрузку.
Даже если я удаляю файл, он автоматически создает файл размером 32,928 Мб.
В чем дело?