3

我想通过 Open Street Map 显示地图。

我在 VS2013 中有一个 C# 代码来显示 GMAP 和 OSM 的地图。

地图只能显示地图的一小部分。我想我可以看到指定纬度/经度的区域图。

为什么 ?

谢谢

using System.Windows.Forms;
using GMap.NET.WindowsForms;
using GMap.NET;
using GMap.NET.MapProviders;
using GMap.NET.WindowsForms.Markers;

namespace drawMapByGmap
{
   public partial class Form1 : Form
  {
     GMapOverlay overlayOne;
     String contry;
     public Form1()
     {
         InitializeComponent();
         this.Load += new EventHandler(this.Form1_Load); 

     }

     private void Form1_Load(object sender, EventArgs e)
    {
        mapexplr_Load(sender, e);
    }

    private void mapexplr_Load(object sender, EventArgs e)
    {

        //initialisation de notre map
        gMapControl1.SetPositionByKeywords("Tunisia");
        gMapControl1.MapProvider = GMapProviders.OpenStreetMap;
        gMapControl1.MinZoom = 3;
        gMapControl1.MaxZoom = 17;
        gMapControl1.Zoom = 5;
        gMapControl1.Manager.Mode = AccessMode.ServerAndCache;
        //ajout des overlay
        overlayOne = new GMapOverlay("OverlayOne");
        //ajout de Markers
        overlayOne.Markers.Add(new GMap.NET.WindowsForms.Markers.GMarkerGoogle(new PointLatLng(36.657403, 10.327148), GMarkerGoogleType.blue));
        ////ajout de overlay à la map
        gMapControl1.Overlays.Add(overlayOne);
    }

   }
}
4

1 回答 1

0

我试过你的代码,没有任何问题,所以你可以尝试将管理器模式设置为仅服务器

GMapControl1.Manager.Mode = AccessMode.ServerOnly

并确保您已连接到互联网,这是我测试的图像

在此处输入图像描述

于 2015-11-02T08:42:10.320 回答