2017-04-20 17 views
0

尝试使用C#上加载Windows窗体OSM和GMap.Net我收到此错误错误403 - 禁止在打开加载街道地图突出重围形式GMap.Net和C#

Exception:The remote server returned an error: (403) Forbidden

private void Form1_Load(object sender, EventArgs e) 
    { 

     gMapControl1.DragButton = MouseButtons.Left; 
     gMapControl1.CanDragMap = true; 
     gMapControl1.MapProvider = GMapProviders.OpenStreetMap; 
     gMapControl1.Position = new GMap.NET.PointLatLng(54.6961334816182, 25.2985095977783); 
     gMapControl1.MinZoom = 0; 
     gMapControl1.MaxZoom = 24; 
     gMapControl1.Zoom = 9; 
     gMapControl1.AutoScroll = true; 


    } 

灿你请让我知道为什么会发生这种情况,我该如何解决它?

enter image description here

+1

您可以向我们展示完整的HTTP请求和响应,例如使用wireshark?你使用哪个OSM平铺服务器?您的程序是否尊重[瓦片使用政策](https://operations.osmfoundation.org/policies/tiles/),例如它是否会发送有效的引荐来源? – scai

+0

为补充scai的评论,通常瓷砖服务器(及其样式表)不会超过18-20缩放级别。它不应该导致HTTP 403状态,但要注意这一点。 – Eric

+0

@scai,谢谢你的回复我在哪里可以检查瓷砖服务器?我的意思是我说我正在使用GMap.Net,所以我如何检查请求或磁贴使用策略? – Behseini

回答

0

不要忘记设置实例模式服务器/高速缓存,并将其设定为开放街道地图提供商的实例,而不是“GMapProviders.OpenStreetMap”

GMap.NET.GMaps.Instance.Mode = GMap.NET.AccessMode.ServerAndCache; 
gMapControl1.MapProvider = GMap.NET.MapProviders.OpenStreetMapProvider.Instance; 

可能也可以成为您的网络代理设置,请参阅 https://stackoverflow.com/a/19609539/2368681