Le marqueur Gmap.Net à une position incorrecte mais lorsque la carte est agrandie, le marqueur se place au bon endroit

J’ai une application Windows Forms avec un contrôleur Gmap.Net . Ce que je veux faire, c’est append des marqueurs basés sur des sources externes fournissant des emplacements. Le fait est que lorsque j’ajoute un marqueur initialement dessiné à un emplacement incorrect, mais après un zoom arrière, il est placé au bon endroit. Donc voici ce que j’ai eu jusqu’à présent:

Mon contrôleur de carte est déclaré être situé à Panama, Panama.

private void button2_Click(object sender, EventArgs e) { //Layer count is just a variable to add new OverLays with different names var markersOverlay = new GMapOverlay("markers" + layerCount); //Marker far away in Quebec, Canada just to check my point in discussion var marker = new GMarkerGoogle(new PointLatLng(58.0032, -79.4957), GMarkerGoogleType.red_small); markersOverlay.Markers.Add(marker); gmap.Overlays.Add(markersOverlay); layerCount++; } 

Ainsi, lorsque j’appuie sur le bouton, voici ce que j’ai obtenu (sachez que l’emplacement de la carte est situé au Panama et que le marqueur est au Canada):

Première image sans zoom. Source: OC

Et lorsque je fais un zoom arrière, le marqueur se positionne correctement au Canada.

Deuxième image sans zoom. Source: OC

Pourquoi mon marqueur a été dessiné au Panama initialement?

PD : J’ai déjà vérifié cette question, mais cela ne résout pas mon problème car je dois append plus d’un marqueur et myMap.UpdateMarkerLocalPosition(marker) n’est pas une solution pour moi.

C’est parce que vous ajoutez le marqueur à la superposition qui n’a pas été ajouté aux superpositions de la carte. Essayez de changer l’ordre des instructions comme suit:

 gmap.Overlays.Add(markersOverlay); markersOverlay.Markers.Add(marker); 

append un premier marqueur à la fin, lon = 0,0. vous pouvez également rendre ce marqueur invisible en définissant son image de marqueur comme image png transparente de 1×1 pixel. Le premier élément du marqueur fait ce genre de mauvais placement.