Guillermo Oramas R. Guillermo Oramas R. - 1 year ago 62
C# Question

Gmap.Net Marker at incorrect position but when the map is zoomed the marker goes to right place

I've a Windows Forms Application with a Gmap.Net controller, what I want to do is to add markers based on an outside sources that provides locations. The thing is that when I add a marker is initially drawn in an incorrect location, but after I zoom out it goes to the right place. So this is what I got so far:

My Map controller is declare to be located at 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);


So when I press the button what I got is this (have in mind that the map location it's set to be in Panama and the marker in Canada):

First picture without zooming. Source: OC

And when I zoom out, the marker goes to the correct position in Canada.

Second picture without zooming. Source: OC

Why my marker is been drawn in Panama initially?

P.D: I already check this question but it doesn't resolve my problem because I need to be adding more than 1 marker and
is not a solution for me.

Answer Source

I think it's because you're adding the marker to the overlay that has not been added to the map's overlays. Try to switch the order of the statements as follows:


Worked for me.