Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

    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.

like image 643
Guillermo Oramas R. Avatar asked Jul 21 '15 16:07

Guillermo Oramas R.


2 Answers

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);
like image 124
rdoubleui Avatar answered Sep 18 '22 07:09

rdoubleui


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.

like image 22
mustaphos Avatar answered Sep 17 '22 07:09

mustaphos