6

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);

    markersOverlay.Markers.Add(marker);
    gmap.Overlays.Add(markersOverlay);
    layerCount++;
}

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 myMap.UpdateMarkerLocalPosition(marker) is not a solution for me.

Community
  • 1
  • 1
Guillermo Oramas R.
  • 1,303
  • 2
  • 14
  • 31

2 Answers2

11

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:

gmap.Overlays.Add(markersOverlay);
markersOverlay.Markers.Add(marker);
rdoubleui
  • 3,554
  • 4
  • 30
  • 51
1

add a first marker at lat,lon = 0,0. you can also make this marker invisible with setting its marker image as 1x1 pixel transparent png image. first element of the marker do this kind of wrong placement.

mustaphos
  • 115
  • 2
  • 9
  • I recon your effort to find a workaround. If you experience the problem mentioned please try to apply the solution given. If that's not working then let's find out why. The problem was imo a problem of order of appliance. – rdoubleui Feb 20 '17 at 07:07