public void Analyze(IGeometry geometry) { if ((Control.ModifierKeys & Keys.Control) == Keys.Control) { if (TempGeometry != null) { geometry = geometry.WMerge(TempGeometry); } } else { this.TempGeometry = null; } switch (this.dataType) { case DataType.BusLine: //获取与公交路线相交 IFeatureLayer BusLinefeatureLayer = GetFeatureLayer(BusLineName.GetLayer()); AnalyzeBase(geometry, SpaceMode.Intersect, BusLinefeatureLayer, "当前区域内公交路线"); //获取 包含的公交站点 IFeatureLayer BusStopFeatureLayer = GetFeatureLayer(BusStopName.GetLayer()); AnalyzeBase(geometry, SpaceMode.Contains, BusStopFeatureLayer, "当前区域内公交站点"); break; case DataType.Parking: IFeatureLayer ParkingFeatureLayer = GetFeatureLayer(ParkingName.GetLayer()); AnalyzeBase(geometry, SpaceMode.Contains, ParkingFeatureLayer, "当前区域内停车设施"); break; } TempGeometry = geometry; axMapControl1.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewGeoSelection, null, axMapControl1.ActiveView.Extent); }