private void TrackInteractiveOverlayOnTrackEnded(object sender, TrackEndedTrackInteractiveOverlayEventArgs args) { loadingView.StartAnimating(); Task.Factory.StartNew(() => { MultipolygonShape resultShape = PolygonShape.Union(iOSMap.TrackOverlay.TrackShapeLayer.InternalFeatures); ShapeFileFeatureLayer earthquakePointLayer = (ShapeFileFeatureLayer)Global.HighLightOverlay.Layers["EarthquakePointLayer"]; earthquakePointLayer.Open(); Collection <Feature> features = earthquakePointLayer.FeatureSource.GetFeaturesWithinDistanceOf(new Feature(resultShape), iOSMap.MapUnit, DistanceUnit.Meter, 0.0001, ReturningColumnsType.AllColumns); Global.QueriedFeatures.Clear(); foreach (Feature feature in features) { Global.QueriedFeatures.Add(feature); } Global.FilterSelectedEarthquakeFeatures(); InvokeOnMainThread(() => { Global.HighLightOverlay.Refresh(); loadingView.StopAnimating(); }); }); }
private void TrackOverlay_TrackEnded(object sender, TrackEndedTrackInteractiveOverlayEventArgs e) { MultipolygonShape resultShape = PolygonShape.Union(Global.MapView.TrackOverlay.TrackShapeLayer.InternalFeatures); FeatureLayer featureLayer = earthquakePointLayer; if (!featureLayer.IsOpen) { featureLayer.Open(); } Collection <Feature> features = featureLayer.FeatureSource.GetFeaturesWithinDistanceOf(new Feature(resultShape), Global.MapView.MapUnit, DistanceUnit.Meter, 0.0001, ReturningColumnsType.AllColumns); Global.BackupQueriedFeatures(features); Global.FilterSelectedEarthquakeFeatures(Global.GetBackupQueriedFeatures()); }