错误403 - 禁止在打开加载街道地图突出重围形式GMap.Net和C#
问题描述:
尝试使用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;
}
灿你请让我知道为什么会发生这种情况,我该如何解决它?
答
不要忘记设置实例模式服务器/高速缓存,并将其设定为开放街道地图提供商的实例,而不是“GMapProviders.OpenStreetMap”
GMap.NET.GMaps.Instance.Mode = GMap.NET.AccessMode.ServerAndCache;
gMapControl1.MapProvider = GMap.NET.MapProviders.OpenStreetMapProvider.Instance;
可能也可以成为您的网络代理设置,请参阅 https://*.com/a/19609539/2368681
您可以向我们展示完整的HTTP请求和响应,例如使用wireshark?你使用哪个OSM平铺服务器?您的程序是否尊重[瓦片使用政策](https://operations.osmfoundation.org/policies/tiles/),例如它是否会发送有效的引荐来源? – scai
为补充scai的评论,通常瓷砖服务器(及其样式表)不会超过18-20缩放级别。它不应该导致HTTP 403状态,但要注意这一点。 – Eric
@scai,谢谢你的回复我在哪里可以检查瓷砖服务器?我的意思是我说我正在使用GMap.Net,所以我如何检查请求或磁贴使用策略? – Behseini