2017-04-20 2 views
0

Essayer de charger OSM sur Windows en utilisant le formulaire C# et GMap.Net Je reçois cette erreurErreur 403 - Interdit sur le chargement Open Street Map to Win Form avec GMap.Net et 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; 


    } 

Can vous s'il vous plaît laissez-moi savoir pourquoi cela se passe et comment je peux le réparer?

enter image description here

+1

Pouvez-vous nous montrer la requête HTTP complète et la réponse, par exemple en utilisant wireshark? Quel serveur de tuiles OSM utilisez-vous? Votre programme respecte-t-il la [politique d'utilisation des tuiles] (https://operations.osmfoundation.org/policies/tiles/), par exemple envoie-t-il un référent valide? – scai

+0

Pour compléter le commentaire de scai, les serveurs de tuiles (et leurs feuilles de style) ne dépassent généralement pas le niveau de zoom 18-20. Cela ne devrait pas aboutir à des statuts HTTP 403, mais méfiez-vous de cela. – Eric

+0

@scai, merci de répondre où puis-je vérifier le serveur de tuile? Je veux dire, comme je l'ai dit, j'utilise GMap.Net alors comment puis-je vérifier la demande ou la politique d'utilisation des tuiles? – Behseini

Répondre

0

ne pas oublier de régler le mode d'instance au serveur/cache, et à l'instance du fournisseur de plan ouvert au lieu de « GMapProviders.OpenStreetMap »

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

Il pourrait également être vos paramètres proxy Web, voir https://stackoverflow.com/a/19609539/2368681