如何删除GMap.Net中的特定标记?只需使用坐标(lat,lng)。这是我的一些代码,对我来说不起作用

时间:2015-01-19 15:54:40

标签: gmap.net

double last_lat;
double last_lng;

int indicator = 0;

private void map_MouseClick(object sender, MouseEventArgs e)
        {
            if (e.Button == System.Windows.Forms.MouseButtons.Left)
            {
                double lat = map.FromLocalToLatLng(e.X, e.Y).Lat;
                double lng = map.FromLocalToLatLng(e.X, e.Y).Lng;

                if (last_lat != lat || last_lng != lng)
                {
                    if (indicator == 0)
                    {

                        GMapOverlay markersOverlay = new GMapOverlay(map, "marker");
                        GMapMarkerGoogleRed marker = new GMapMarkerGoogleRed(new PointLatLng(lat, lng));
                        markersOverlay.Markers.Add(marker);
                        map.Overlays.Add(markersOverlay);

                        last_lat = lat;
                        last_lng = lng;
                        indicator = 1;
                        //MessageBox.Show("kina unhan!");
                    }
                    else 
                    {
                        //MessageBox.Show(Convert.ToString(last_lat),"Last Lat");
                        //MessageBox.Show(Convert.ToString(last_lng), "Last Lng");

                        GMapOverlay markersOverlay = new GMapOverlay(map, "marker");
                        GMapMarkerGoogleRed marker = new GMapMarkerGoogleRed(new PointLatLng(last_lat, last_lng));
                        markersOverlay.Markers.Remove(marker);
                        map.Overlays.Remove(markersOverlay);

                        map.Refresh();

                        //GMapOverlay markersOverlay2 = new GMapOverlay(map, "marker");
                        //GMapMarkerGoogleRed marker2 = new GMapMarkerGoogleRed(new PointLatLng(lat, lng));
                        //markersOverlay.Markers.Add(marker2);
                        //map.Overlays.Add(markersOverlay2);
                        //MessageBox.Show("sunod");
                    }
                }

            }
        }

1 个答案:

答案 0 :(得分:0)

不,你需要处理标记本身的点击事件,通过坐标找到它是单调乏味的。

如果您不确定,请尝试查找在标记上打开弹出窗口的示例并尝试从那里开始工作。如果这没有帮助,请回到这里,我们会弄清楚。