Gmap.Net标记在不正确的位置,但是当地图缩放标记进入到正确的地方

问题描述:

我有一个Windows窗体应用程序Gmap.Net控制器,我想要做的就是添加基于标记在提供位置的外部来源。事情是,当我添加一个标记最初绘制在一个不正确的位置,但是在我缩小之后,它会到达正确的位置。所以这是我走到这一步:Gmap.Net标记在不正确的位置,但是当地图缩放标记进入到正确的地方

我的地图控制器申报位于*。

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++; 
} 

所以,当我按下按钮,我这是什么(表达心意,地图位置,它的设置是在*和加拿大标记):

First picture without zooming. Source: OC

当我缩小,标记在加拿大的正确位置。

Second picture without zooming. Source: OC

为什么我的标记在*被抽最初?

Pd积:我已经检查了这question而是因为我需要增加超过1个标记,myMap.UpdateMarkerLocalPosition(marker)不是我一个解决方案不解决我的问题。

+0

我在这里得到了同样的问题,我仍然在寻找解决方案。 –

+2

嗨@gm_fernandes,检查它完全工作的答案,这只是代码行顺序的问题。您需要先将叠加层添加到地图,然后将标记添加到叠加层。 –

+0

但它不适用于我的程序,也许丢失了某些东西 –

这是因为你要添加的标记尚未添加到地图的叠加覆盖。尝试切换的语句的顺序如下:

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

添加的第一标记在LAT,LON = 0,0。 您还可以将此标记设置为不可见,并将其标记图像设置为1x1像素透明PNG图像。 标记的第一个元素会做这种错误的放置。

+0

我重新调整了您的努力以找到解决方法。如果遇到上述问题,请尝试应用所给出的解决方案。如果这不起作用,那么让我们找出原因。问题在于家电的秩序问题。 – rdoubleui