google карта Gmap.NET грузить офлайн версию

уважаемые люди на winforms работает google MAP. нужно реализовать офлайн версию для нескольких пользователей через локальный сервер. тоесть хочу Гугл карту грузить на сервер компьютер и через сервер с помощью winforms раздать пользователям. Скажите пожалуйста, как это реализуется ?

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using GMap.NET;
using GMap.NET.MapProviders;
using GMap.NET.WindowsForms;
using GMap.NET.WindowsForms.Markers;
using GMap.NET.WindowsForms.ToolTips;

namespace LOCAL_PROJECT
{
public partial class maps : Form
{
    public maps()
    {
        InitializeComponent();
    }
   
    private void gMapControl1_Load(object sender, EventArgs e)
    {
    
        // Настройки для компонента GMap
        gmap.Bearing = 0;
        // Перетаскивание правой кнопки мыши
        gmap.CanDragMap = true;
        // Перетаскивание карты левой кнопкой мыши
        gmap.DragButton = MouseButtons.Left;

        gmap.GrayScaleMode = true;

        // Все маркеры будут показаны
        gmap.MarkersEnabled = true;
        // Максимальное приближение
        gmap.MaxZoom = 18;
        // Минимальное приближение
        gmap.MinZoom = 2;
        // Курсор мыши в центр карты
        gmap.MouseWheelZoomType = GMap.NET.MouseWheelZoomType.MousePositionWithoutCenter;

        // Отключение нигативного режима
        gmap.NegativeMode = false;
        // Разрешение полигонов
        gmap.PolygonsEnabled = true;
        // Разрешение маршрутов
        gmap.RoutesEnabled = true;
        // Скрытие внешней сетки карты
        gmap.ShowTileGridLines = false;
        // При загрузке 10-кратное увеличение
        gmap.Zoom = 20;
        // Изменение размеров
        // gmap.Dock = DockStyle.Fill;

        // Чья карта используется
        gmap.MapProvider = GMap.NET.MapProviders.GMapProviders.GoogleMap;
        GMap.NET.GMaps.Instance.Mode = GMap.NET.AccessMode.ServerAndCache;

        // Загрузка этой точки на карте
        GMap.NET.GMaps.Instance.Mode = GMap.NET.AccessMode.ServerOnly;
        gmap.Position = new GMap.NET.PointLatLng(37.59166577825099, 61.84378218030843);

        // Создаём новый список маркеров
        GMapOverlay markersOverlay = new GMapOverlay("markers");

        // Инициализация красного маркера с указанием его коордиант
        GMarkerGoogle marker = new GMarkerGoogle(new PointLatLng(37.59167129066048, 61.84377522351632), GMarkerGoogleType.red);
        marker.ToolTip = new GMap.NET.WindowsForms.ToolTips.GMapRoundedToolTip(marker);

        // Текст отображаемый с маркером
        marker.ToolTipText = "Enter";
        // Добавляем маркер в список маркеров
        markersOverlay.Markers.Add(marker);
        gmap.Overlays.Add(markersOverlay);

        // Установка максимального, минимального и текущего значения элемента управления
     //   trackBar1.Maximum = 18;
   //     trackBar1.Minimum = 2;
    //    trackBar1.Value = (int)gmap.Zoom;
    }

    private void button1_Click(object sender, EventArgs e)
    {
         try
        {
            //Инициализируем новую переменную класса SaveFileDialog,
            //открывающий диалоговое окно для сохранения файла. 
            using (SaveFileDialog dialog = new SaveFileDialog())
            {
                //Задаем текущую строку фильтра имен файлов,
                //которая определяет варианты, доступные в поле 
                //"Сохранить как тип файла" или "Файлы типа"
                //диалогового окна.                    
                dialog.Filter = "PNG (*.png)|*.png";

                //Задаем строку, содержащую имя файла,
                //выбранное в диалоговом  окне файла.
                dialog.FileName = "GMap.NET image";

                //Создаем новое изображение и
                //передаем компонент с картой.
                Image image = this.gmap.ToImage();

                if (image != null)
                {
                    using (image)
                    {
                        //Запускаем общее диалоговое окно с
                        //заданным по умолчанию владельцем.                          
                        //Данное окно возвращает объект
                        //System.Windows.Forms.DialogResult.OK,
                        //если пользователь нажимает кнопку
                        //ОК в диалоговом окне; в противном случае 
                        //— объект System.Windows.Forms.DialogResult.Cancel.
                        //Если пользователь нажал ОК, то идем дальше.
                        if (dialog.ShowDialog() == DialogResult.OK)
                        {
                            //Заносим в переменную имя файла введенное 
                            //в диалоговом окне.
                            string fileName = dialog.FileName;

                            //Выполняем проверку:
                            //был ли задан формат изображения карты,
                            //если нет, то добавляем после имени
                            //расширение файла.
                            if (!fileName.EndsWith(".png",
                                StringComparison.OrdinalIgnoreCase))
                            {
                                fileName += ".png";
                            }
                            //Выполняем сохранение изображения карты.
                            image.Save(fileName);

                            //Выводим сообщение об успешном сохранении 
                            //и пути к данному изображению карты.
                            MessageBox.Show("Saved: "
                                + Environment.NewLine
                                + dialog.FileName, "GMap.NET",
                                MessageBoxButtons.OK,
                                MessageBoxIcon.Asterisk);
                        }
                    }
                }
            }
        }
        catch (Exception exception)
        {
            //Если на одном из этапов сохранения произошла ошибка 
            MessageBox.Show("Error: "
                + Environment.NewLine
                + exception.Message,
                "GMap.NET",
                MessageBoxButtons.OK,
                MessageBoxIcon.Hand);
        }
    }

    private void button2_Click(object sender, EventArgs e)
    {
        Application.Exit();
    }
}

}


Ответы (0 шт):