public Dictionary <Feature, VectorLayer> AllHitTest(Geometry.Extent2D extent) { Dictionary <Feature, VectorLayer> multiResult = new Dictionary <Feature, VectorLayer>(); if (LayerData.GeoType == "1") { foreach (Feature f in LayerData.Features) { Geometry.Point2D p = new Geometry.Point2D(f.GeoData); if (extent.IsPointIn(p)) { multiResult.Add(f, LayerData); } } } else if (LayerData.GeoType == "2") { foreach (Feature f in LayerData.Features) { Geometry.Polyline poly = new Geometry.Polyline(f.GeoData); if (extent.IsPointIn(poly.GetExtent().max) && extent.IsPointIn(poly.GetExtent().min)) { multiResult.Add(f, LayerData); } } } else if (LayerData.GeoType == "4") { foreach (Feature f in LayerData.Features) { Geometry.Polygon poly = new Geometry.Polygon(f.GeoData); if (extent.IsPointIn(poly.GetExtent().max) && extent.IsPointIn(poly.GetExtent().min)) { multiResult.Add(f, LayerData); } } } return(multiResult); }