示例#1
0
        void mainMap_OnMarkerClick(GMapMarker item, MouseEventArgs e)
        {
            //fill DATA TO LIST
            if (ListMarkerdetail.Tag.Contains(Convert.ToInt32(item.Tag)))
            {
                int indexMarker = ListMarkerdetail.Tag.IndexOf(Convert.ToInt32(item.Tag));
                SelectMakrer?.Invoke(this, indexMarker);
            }
            //GET CURRENT MARKER
            MarkerCurrent?.Invoke(this, item);

            if (e.Button == MouseButtons.Right)
            {
                if (ListMarkerdetail.Tag.Contains(Convert.ToInt32(item.Tag)))
                {
                    int indexMarkerDel = ListMarkerdetail.Tag.IndexOf(Convert.ToInt32(item.Tag));
                    DelMarkerCurrent?.Invoke(this, indexMarkerDel);
                }
            }
        }
示例#2
0
        private void mainMap_OnMarkerClick(GMapMarker item, MouseEventArgs e)
        {
            alternateMarker = item;
            if (item is GMarkerRect rect)
            {
                if (rect.InnerMarker is GMarkerRadar radar)
                {
                    radar.LockPolygon = !radar.LockPolygon;
                }
                else if (rect.InnerMarker is GMarkerTrack track)
                {
                    if (!hasPanelRight)
                    {
                        MessageBox.Show("1");
                        panelRight_Map();
                        panelRightShowControl(ControlViews.Track);
                        ControlViews.Track.SetControl(ControlViews.TrackView);
                        ControlViews.TrackView.setTrackInfo(track.Track);
                        fadePanelRight();
                    }
                    else if (ControlViews.Main.currentControl == ControlViews.Track)
                    {
                        MessageBox.Show("2");
                        ControlViews.Track.SetControl(ControlViews.TrackView);
                        ControlViews.TrackView.setTrackInfo(track.Track);
                    }
                }
                else if (rect.InnerMarker is GMarker marker)
                {
                    // TODO : Request right panel and show this marker data
                    // See above else if condition for example
                    if (detailMarkers.ContainsKey(marker))
                    {
                        if (detailMarkers[marker].GetType() == typeof(City))
                        {
                            ControlViews.Marker.SetControl(ControlViews.CityView);
                            ControlViews.CityView.setCityInfo(marker, rect);
                        }
                        else if (detailMarkers[marker].GetType() == typeof(Airport))
                        {
                            //TODO : SetControl Here (Titan to Toon)
                            //.Show("Airport View", "TEST", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            ControlViews.Marker.SetControl(ControlViews.AirportView);
                            ControlViews.AirportView.setAirportInfo(marker, rect);
                        }
                        else if (detailMarkers[marker].GetType() == typeof(FireUnit))
                        {
                            //TODO : SetControl Here (Titan to Toon)
                            //MessageBox.Show("FireUnit View", "TEST", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            ControlViews.Marker.SetControl(ControlViews.FireUnitView);
                            ControlViews.FireUnitView.setFireUnitInfo(marker, rect);
                        }
                        else if (detailMarkers[marker].GetType() == typeof(FixedPoint))
                        {
                            //TODO : SetControl Here (Titan to Toon)
                            //MessageBox.Show("FixedPoint View", "TEST", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            ControlViews.Marker.SetControl(ControlViews.FixedPointView);
                            ControlViews.FixedPointView.setFixedPointInfo(marker, rect);
                        }
                        else if (detailMarkers[marker].GetType() == typeof(LandMark))
                        {
                            //TODO : SetControl Here (Titan to Toon)
                            //MessageBox.Show("LandMark View", "TEST", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            ControlViews.Marker.SetControl(ControlViews.LandmarkView);
                            ControlViews.LandmarkView.setLandMarkInfo(marker, rect);
                        }
                        else if (detailMarkers[marker].GetType() == typeof(VitalAsset))
                        {
                            //TODO : SetControl Here (Titan to Toon)
                            //MessageBox.Show("ViralAsset View", "TEST", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            ControlViews.Marker.SetControl(ControlViews.VitalAssetView);
                            ControlViews.VitalAssetView.setVitalAssetInfo(marker, rect);
                        }
                        else
                        {
                            //This condition to other error case
                            MessageBox.Show("Invalid Data", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }


                        //markerOverlay.Markers.Remove(rect);
                        //markerOverlay.Markers.Remove(marker);
                    }
                }
            }

            MarkerCurrent?.Invoke(this, item);
        }