public static bool IdentifyFeatureLayers(IBasicMap ibasicMap_0, IPoint ipoint_0, double double_0, List <IFeatureLayer> list_0, out IList <object> ilist_0) { ilist_0 = new List <object>(); IEnvelope envelope = ipoint_0.Envelope; envelope.Width = double_0; envelope.Height = double_0; envelope.CenterAt(ipoint_0); foreach (IFeatureLayer list0 in list_0) { IdentifyHelper.FeatureLayerIdentify(ibasicMap_0, list0, envelope, ilist_0); } return(true); }
public static bool IdentifyLayer(IBasicMap ibasicMap_0, ILayer ilayer_1, IGeometry igeometry_0, IArray iarray_0) { if (ilayer_1 is IFeatureLayer) { IdentifyHelper.FeatureLayerIdentify(ibasicMap_0, ilayer_1 as IFeatureLayer, igeometry_0, iarray_0); } else if ((ilayer_1 is IRasterLayer || ilayer_1 is ITinLayer || ilayer_1 is IMapServerLayer ? true : ilayer_1 is ICadLayer)) { IArray array = (ilayer_1 as IIdentify).Identify(igeometry_0); if (array != null) { for (int i = 0; i < array.Count; i++) { iarray_0.Add(array.Element[i]); } } } return(true); }
public void IdentifyMap(IBasicMap ibasicMap_0, double double_0, IPoint ipoint_0, IFeatureLayer ifeatureLayer_0, IList <object> ilist_0) { IEnvelope envelope = ipoint_0.Envelope; envelope.Width = double_0; envelope.Height = double_0; envelope.CenterAt(ipoint_0); if (ifeatureLayer_0 == null) { UID uIDClass = new UID() { Value = "{6CA416B1-E160-11D2-9F4E-00C04F6BC78E}" }; IEnumLayer layers = ibasicMap_0.Layers[uIDClass, true]; ISpatialFilter spatialFilterClass = new SpatialFilter() { Geometry = envelope, SpatialRel = esriSpatialRelEnum.esriSpatialRelIntersects }; layers.Reset(); ILayer layer = layers.Next(); bool flag = false; while (layer != null) { if (this.identifyTypeEnum_0 == IdentifyTypeEnum.enumITSelectableLayer) { if (!(layer is IFeatureLayer)) { layer = layers.Next(); continue; } else if (!(layer as IFeatureLayer).Selectable) { layer = layers.Next(); continue; } } else if (this.identifyTypeEnum_0 == IdentifyTypeEnum.enumITTopLayer) { flag = true; } else if (this.identifyTypeEnum_0 == IdentifyTypeEnum.enumITVisibleLayer) { if (!layer.Visible) { layer = layers.Next(); continue; } } else if (this.identifyTypeEnum_0 == IdentifyTypeEnum.enumITCurrentLayer) { if (this.ilayer_0 != layer) { layer = layers.Next(); continue; } else { flag = true; } } try { if (layer is IFeatureLayer) { IdentifyHelper.FeatureLayerIdentify(ibasicMap_0, layer as IFeatureLayer, envelope, ilist_0); } else if ((layer is IRasterLayer || layer is ITinLayer || layer is IMapServerLayer ? true : layer is ICadLayer)) { IArray array = (layer as IIdentify).Identify(envelope); if (array != null) { for (int i = 0; i < array.Count; i++) { ilist_0.Add(array.Element[i]); } } } } catch (Exception exception) { Logger.Current.Error("", exception, ""); } if (flag) { break; } layer = layers.Next(); } } }