使用 C# 中的 GMap.Net 和离线地图构建应用程序

问题描述 投票:0回答:2

我正在尝试下载 MapProvider 以使用离线地图,但我不知道如何下载。 当我使用 ServerOnly 时它有效。 这是我的代码:

GMap.NET.GMaps.Instance.Mode = GMap.NET.AccessMode.ServerOnly;
        _map = new GMapControl();
        Map.MapProvider = GMap.NET.MapProviders.BingHybridMapProvider.Instance;
        Map.DragButton = MouseButton.Left;
        Map.MinZoom = 2;
        Map.MaxZoom = 18;
        Map.Zoom = 5;
        Map.CanDragMap = true;
        Map.Position = new GMap.NET.PointLatLng(48.8589507, 2.2775175);
        Map.ShowCenter = false;

谢谢大家

c# bing-maps ggmap gmap.net
2个回答
0
投票

您可以使用

ServerAndCache
 中找到的 
GMap.NET.AccessMode

将地图缓存在本地存储中

以下函数将完成这项工作:

private void gMapStoreOffline(int lat, int lng)
{

 gMapControl1.MapProvider = GMap.NET.MapProviders.BingMapProvider.Instance;
 GMap.NET.GMaps.Instance.Mode = GMap.NET.AccessMode.ServerAndCache;
 GMap.NET.MapProviders.OpenStreetMapProvider.UserAgent = "IE";
 
 gMapControl1.MapProvider = GMap.NET.MapProviders.OpenStreetMapProvider.Instance;
 GMaps.Instance.OptimizeMapDb(null);

 // Define the location to cache the file
 gMapControl1.CacheLocation = @"C:\Users\<username>\..";
 gMapControl1.Zoom = 14;
 gMapControl1.Size = new Size(this.Width, this.Height);
 gMapControl1.ShowCenter = false;
 gMapControl1.Position = new GMap.NET.PointLatLng(lat, lng)

}

0
投票

我们如何在离线模式下使用 Gmap.Net GmapConrol 来使用所有区域的地图?

我想使用CacheOnly访问模式。

有什么方法可以离线使用此控件或任何缓存管理技术吗?

© www.soinside.com 2019 - 2024. All rights reserved.