1
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");
                    }
                }

            }
        }
4

1 回答 1

0

不,您需要处理标记本身的点击事件,通过坐标查找它很乏味。

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

于 2015-12-21T20:11:46.533 回答