示例#1
0
文件: frmMap.cs 项目: yifeidong/gvms
        private void mapControl_MouseDownEvent(object sender, AxMapObjects2._DMapEvents_MouseDownEvent e)
        {
            MapObjects2.Point oMousePosition = mapControl.ToMapPoint(e.x, e.y);
            MapUtil.MapOperation oMapOper = new GPSTrackingMonitor.MapUtil.MapOperation();

            switch (GlobeVariables.CurrentOperation)
            {
                case GPSTrackingMonitor.MapUtil.MapOperationType.ZoomIn:
                    oMapOper.ZoomInMap(mapControl.TrackRectangle(),ref mapControl);
                    break;
                case GPSTrackingMonitor.MapUtil.MapOperationType.ZoomOut:
                    oMapOper.ZoomOutMap(mapControl.TrackRectangle(), ref mapControl);
                    break;
                case GPSTrackingMonitor.MapUtil.MapOperationType.Pan:
                    mapControl.Pan();
                    break;
                case GPSTrackingMonitor.MapUtil.MapOperationType.Measure:
                    this._measureLine = mapControl.TrackLine();
                    this.labMeasure.Text = string.Format("长度 : {0} 米", oMapOper.ComputeDistance(this._measureLine).ToString());
                    break;
                case GPSTrackingMonitor.MapUtil.MapOperationType.Identify:                  
                    MapUtil.FeatureInformations oFeatureInfos = oMapOper.GetIdentifyFeatureInfos(oMousePosition, this.mapControl,GlobeVariables.MapInfosCollection);
                    this._frmIdentify.UpdateFeatureInfos(oFeatureInfos, MousePosition);
                    break;
                case GPSTrackingMonitor.MapUtil.MapOperationType.FetchPoint:
                    this.OnPointFetched(oMousePosition);
                    break;
                default:
                    break;
            }
        }
示例#2
0
文件: frmMap.cs 项目: yifeidong/gvms
        private void mapControl_AfterTrackingLayerDraw(object sender, AxMapObjects2._DMapEvents_AfterTrackingLayerDrawEvent e)
        {
            //绘制导航地图中的视图范围框线
            frmNavigation.Instance.DrawMainMapViewExtent(this.mapControl.Extent);

            //更新比例尺
            MapUtil.MapOperation oMapOper = new GPSTrackingMonitor.MapUtil.MapOperation();
            this.lblScale.Text = string.Format("比例尺 : 1 : {0}", Convert.ToInt32(oMapOper.ComputeMapScale(this.mapControl)).ToString());

            Invoke((MethodInvoker)delegate{this._geoeventUpdate.UpdateLabelLocation(this._currentMessageCollection);});
        }
示例#3
0
        private void mnuCarLocate_Click(object sender, EventArgs e)
        {
            string sCarNumber = this.GetSelectedCarNumber();

            MapObjects2.GeoEvent oGeoEvent    = GlobeVariables.MainMapControl.TrackingLayer.FindEvent(sCarNumber);
            MapObjects2.Point    oCarLocation = new MapObjects2.PointClass();

            oCarLocation.X = oGeoEvent.X;
            oCarLocation.Y = oGeoEvent.Y;

            MapUtil.MapOperation oMapOper = new GPSTrackingMonitor.MapUtil.MapOperation();
            oMapOper.ZoomAndCenterMap(0.02, oCarLocation, ref GlobeVariables.MainMapControl);
            GlobeVariables.MainMapControl.Refresh();

            GlobeVariables.MainMapControl.FlashShape(oCarLocation, 5);
        }
示例#4
0
文件: CarSearch.cs 项目: uwitec/gvms
        public DataTable SearchByCarLocation(Point centerPoint, double searchRaduis)
        {
            DataTable dtResult = new RealtimeMonite.TrackingDataTableStruct();
            Point oCarLocation = new PointClass();
            MapUtil.MapOperation oMapOper = new GPSTrackingMonitor.MapUtil.MapOperation();

            foreach (DataRow dr in this._realtimeCarInfos.Rows)
            {
                oCarLocation.X = Convert.ToDouble(dr["x"]);
                oCarLocation.Y = Convert.ToDouble(dr["y"]);

                if (oMapOper.ComputeDistance(centerPoint, oCarLocation) <= searchRaduis)
                    dtResult.Rows.Add(dr.ItemArray);
            }

            return dtResult;
        }
示例#5
0
        public DataTable SearchByCarLocation(Point centerPoint, double searchRaduis)
        {
            DataTable dtResult     = new RealtimeMonite.TrackingDataTableStruct();
            Point     oCarLocation = new PointClass();

            MapUtil.MapOperation oMapOper = new GPSTrackingMonitor.MapUtil.MapOperation();

            foreach (DataRow dr in this._realtimeCarInfos.Rows)
            {
                oCarLocation.X = Convert.ToDouble(dr["x"]);
                oCarLocation.Y = Convert.ToDouble(dr["y"]);

                if (oMapOper.ComputeDistance(centerPoint, oCarLocation) <= searchRaduis)
                {
                    dtResult.Rows.Add(dr.ItemArray);
                }
            }

            return(dtResult);
        }
示例#6
0
        private void dgvSearchResult_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
        {
            if (this.dgvSearchResult.DataSource != null &&
                this.dgvSearchResult.RowCount > 0 &&
                this.dgvSearchResult.SelectedRows.Count > 0)
            {
                string sCarNumber = this.dgvSearchResult.SelectedRows[0].Cells["CarNumber"].Value.ToString();

                MapObjects2.GeoEvent oGeoEvent    = GlobeVariables.MainMapControl.TrackingLayer.FindEvent(sCarNumber);
                MapObjects2.Point    oCarLocation = new MapObjects2.PointClass();

                oCarLocation.X = oGeoEvent.X;
                oCarLocation.Y = oGeoEvent.Y;

                MapUtil.MapOperation oMapOper = new GPSTrackingMonitor.MapUtil.MapOperation();
                oMapOper.ZoomAndCenterMap(0.02, oCarLocation, ref GlobeVariables.MainMapControl);
                GlobeVariables.MainMapControl.Refresh();

                GlobeVariables.MainMapControl.FlashShape(oCarLocation, 5);
            }
        }
示例#7
0
        private void dgvSearchResult_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
        {
            if (this.dgvSearchResult.DataSource != null
                      && this.dgvSearchResult.RowCount > 0
                      && this.dgvSearchResult.SelectedRows.Count > 0)
            {
                string sCarNumber = this.dgvSearchResult.SelectedRows[0].Cells["CarNumber"].Value.ToString();

                MapObjects2.GeoEvent oGeoEvent = GlobeVariables.MainMapControl.TrackingLayer.FindEvent(sCarNumber);
                MapObjects2.Point oCarLocation = new MapObjects2.PointClass();

                oCarLocation.X = oGeoEvent.X;
                oCarLocation.Y = oGeoEvent.Y;

                MapUtil.MapOperation oMapOper = new GPSTrackingMonitor.MapUtil.MapOperation();
                oMapOper.ZoomAndCenterMap(0.02, oCarLocation, ref GlobeVariables.MainMapControl);
                GlobeVariables.MainMapControl.Refresh();

                GlobeVariables.MainMapControl.FlashShape(oCarLocation, 5);
            }
        }
示例#8
0
        private void mnuCarLocate_Click(object sender, EventArgs e)
        {
            string sCarNumber = this.GetSelectedCarNumber();
            MapObjects2.GeoEvent oGeoEvent = GlobeVariables.MainMapControl.TrackingLayer.FindEvent(sCarNumber);
            MapObjects2.Point oCarLocation = new MapObjects2.PointClass();

            oCarLocation.X = oGeoEvent.X;
            oCarLocation.Y = oGeoEvent.Y;

            MapUtil.MapOperation oMapOper = new GPSTrackingMonitor.MapUtil.MapOperation();
            oMapOper.ZoomAndCenterMap(0.02, oCarLocation, ref GlobeVariables.MainMapControl);
            GlobeVariables.MainMapControl.Refresh();

            GlobeVariables.MainMapControl.FlashShape(oCarLocation, 5);
        }
示例#9
0
文件: frmMap.cs 项目: uwitec/gvms
        private void mapControl_MouseDownEvent(object sender, AxMapObjects2._DMapEvents_MouseDownEvent e)
        {
            MapObjects2.Point oMousePosition = mapControl.ToMapPoint(e.x, e.y);
            MapUtil.MapOperation oMapOper = new GPSTrackingMonitor.MapUtil.MapOperation();

            switch (GlobeVariables.CurrentOperation)
            {
                case GPSTrackingMonitor.MapUtil.MapOperationType.ZoomIn:
                    oMapOper.ZoomInMap(mapControl.TrackRectangle(),ref mapControl);
                    break;
                case GPSTrackingMonitor.MapUtil.MapOperationType.ZoomOut:
                    oMapOper.ZoomOutMap(mapControl.TrackRectangle(), ref mapControl);
                    break;
                case GPSTrackingMonitor.MapUtil.MapOperationType.Pan:
                    mapControl.Pan();
                    break;
                case GPSTrackingMonitor.MapUtil.MapOperationType.Measure:
                    this._measureLine = mapControl.TrackLine();
                    this.labMeasure.Text = string.Format("���� �� {0} ��", oMapOper.ComputeDistance(this._measureLine).ToString());
                    break;
                case GPSTrackingMonitor.MapUtil.MapOperationType.Identify:
                    MapUtil.FeatureInformations oFeatureInfos = oMapOper.GetIdentifyFeatureInfos(oMousePosition, this.mapControl,GlobeVariables.MapInfosCollection);
                    this._frmIdentify.UpdateFeatureInfos(oFeatureInfos, MousePosition);
                    break;
                case GPSTrackingMonitor.MapUtil.MapOperationType.FetchPoint:
                    this.OnPointFetched(oMousePosition);
                    break;
                default:
                    break;
            }
        }
示例#10
0
文件: frmMap.cs 项目: uwitec/gvms
        private void mapControl_AfterTrackingLayerDraw(object sender, AxMapObjects2._DMapEvents_AfterTrackingLayerDrawEvent e)
        {
            //���Ƶ�����ͼ�е���ͼ��Χ����
            frmNavigation.Instance.DrawMainMapViewExtent(this.mapControl.Extent);

            //���±�����
            MapUtil.MapOperation oMapOper = new GPSTrackingMonitor.MapUtil.MapOperation();
            this.lblScale.Text = string.Format("������ �� 1 : {0}", Convert.ToInt32(oMapOper.ComputeMapScale(this.mapControl)).ToString());

            Invoke((MethodInvoker)delegate{this._geoeventUpdate.UpdateLabelLocation(this._currentMessageCollection);});
        }