示例#1
0
        //Get the min/max values for the selected polyline and populate the dockpane with those values
        private void OnSelectionChanged(MapSelectionChangedEventArgs args)
        {
            //new instance for active map and feature layer
            var          Mmap          = MapView.Active.Map;
            FeatureLayer Mfeaturelayer = Mmap.GetLayersAsFlattenedList().OfType <FeatureLayer>().FirstOrDefault(l => l.ShapeType == ArcGIS.Core.CIM.esriGeometryType.esriGeometryPolyline);

            QueuedTask.Run(() =>
            {
                //logic to check if only one feature is selected
                if (Mfeaturelayer.GetSelection().GetCount() < 1 || Mfeaturelayer.GetSelection().GetCount() > 1)
                {
                    FromMeasure = null;
                    ToMeasure   = null;
                    return;
                }

                double minM, maxM;

                long SelectedOIDs = Mfeaturelayer.GetSelection().GetObjectIDs().FirstOrDefault();

                //Use inspector to get the shape
                var MinMaxInspector = new Inspector();

                MinMaxInspector.Load(Mfeaturelayer, SelectedOIDs);

                var MinMaxShape = MinMaxInspector["SHAPE"] as Polyline;

                //Main function for getting min max m values
                GeometryEngine.Instance.GetMinMaxM(MinMaxShape, out minM, out maxM);

                //set mvalue outputs to text boxes
                FromMeasure = Convert.ToString(minM);
                ToMeasure   = Convert.ToString(maxM);
            });
        }
        protected override Task OnSelectionChangedAsync(MapSelectionChangedEventArgs e)
        {
            // NOTE: This method is not called when the selection is cleared by another command (e.g. by 'Clear Selection')
            //       Is there another way to get the global selection changed event? What if we need the selection changed in a button?

            //if (_shiftIsPressed) // always false -> toolkeyup is first. This method is apparently scheduled to run after key up
            //{
            //	return Task.FromResult(true);
            //}

            CancelableProgressor progressor = GetOverlapsCalculationProgressor();

            if (IsInSelectionPhase())
            {
                var selectedFeatures = MapUtils.GetFeatures(e.Selection).ToList();

                if (CanUseSelection(selectedFeatures))
                {
                    AfterSelection(selectedFeatures, progressor);

                    var sketch = GetCurrentSketchAsync().Result;

                    SelectAndProcessDerivedGeometry(e.Selection, sketch, progressor);
                }
            }

            return(Task.FromResult(true));
        }
示例#3
0
 void mapControl_SelectionChanged(object sender, MapSelectionChangedEventArgs e) {
     var dataItem = e.Selection.FirstOrDefault() as Opportunities.MapItem;
     if(dataItem != null) {
         Callout.Location = dataItem.Address.ToGeoPoint();
         var total = CollectionViewModel.GetOpportunity(ViewModel.Stage, dataItem.Address.City);
         Callout.Text = string.Format("TOTAL<br><color=206,113,0><b><size=+4>{0:c}</color></size></b><br>{1}", total, dataItem.Address.City);
     }
 }
示例#4
0
 private void mapControl1_SelectionChanged(object sender, MapSelectionChangedEventArgs e)
 {
     if (e.Selection.Count == 0)
     {
         districtNumber = -1;
     }
     ResumeGu();
 }
        private void OnSelectionChanged(MapSelectionChangedEventArgs args)
        {
            if (args.Map != _activeMap)
            {
                return;
            }

            UpdateForActiveMap(false, args.Selection);
        }
        /// <summary>
        /// Event handler when the selected features changes
        /// </summary>
        /// <param name="obj"></param>

        private void OnMapSelectionChangedEvent(MapSelectionChangedEventArgs obj)
        {
            //Clear the list first
            if (FeatureItems?.Count > 0)
            {
                FeatureItems.Clear();
            }
            UpdateSymbolList();
        }
示例#7
0
        private void OnMapSelectionChanged(MapSelectionChangedEventArgs obj)
        {
            if (MapView.Active == null)
            {
                return;
            }

            SelectedItems = obj.Selection;
        }
示例#8
0
        protected override bool OnMapSelectionChangedCore(MapSelectionChangedEventArgs args)
        {
            if (args.Selection.Count == 0)
            {
                ResetDerivedGeometries();
                StartSelectionPhase();
            }

            return(true);
        }
        private void OnSelectionChanged(MapSelectionChangedEventArgs obj)
        {
            if (obj.Map != MapView.Active.Map)
            {
                return;
            }

            _cachedValue = false;
            _cachedValue = CheckSelection(obj.Selection);
        }
 /// <summary>
 /// Called when the selection o
 /// </summary>
 /// <param name="args"></param>
 private void OnMapSelectionChanged(MapSelectionChangedEventArgs args)
 {
     if (SelectedFeatureLayer == null)
     {
         return;
     }
     GetSelectedFeatures(SelectedFeatureLayer);
     ComputePieChart();
     Zoom2Select();
 }
示例#11
0
 /// <summary>
 /// Called when the selection o
 /// </summary>
 /// <param name="args"></param>
 private void OnMapSelectionChanged(MapSelectionChangedEventArgs args)
 {
     System.Diagnostics.Debug.WriteLine("OnMapSelectionChanged");
     if (SelectedFeatureLayer == null)
     {
         return;
     }
     GetSelectedFeatures(SelectedFeatureLayer);
     Zoom2Select();
 }
 /// <summary>
 /// Called when the selection o
 /// </summary>
 /// <param name="args"></param>
 private void OnMapSelectionChanged(MapSelectionChangedEventArgs args)
 {
     System.Diagnostics.Debug.WriteLine("OnMapSelectionChanged");
     if (SelectedFeatureLayer == null)
     {
         return;
     }
     // TODO: Step5: Step into these functions to see how they work
     GetSelectedFeatures(SelectedFeatureLayer);
     Zoom2Select();
 }
        void mapControl_SelectionChanged(object sender, MapSelectionChangedEventArgs e)
        {
            var dataItem = e.Selection.FirstOrDefault() as QuoteMapItem;

            if (dataItem != null)
            {
                Callout.Location = dataItem.Address.ToGeoPoint();
                var total = CollectionViewModel.GetOpportunity(ViewModel.Stage, dataItem.Address.City);
                Callout.Text = string.Format("TOTAL<br><color=206,113,0><b><size=+4>{0:c}</color></size></b><br>{1}", total, dataItem.Address.City);
            }
        }
示例#14
0
        private void UiMapaTrackingMapaYFoto_SelectionChanged(object sender, MapSelectionChangedEventArgs e)
        {
            var objetoSeleccionado = e.Selection.FirstOrDefault();
            LimpiarMapa();
            if (objetoSeleccionado == null) return;
            var type = objetoSeleccionado.GetType();
            if (type != typeof(TareaDeCumplimientoDeEntrega)) return;
            var task = (TareaDeCumplimientoDeEntrega)objetoSeleccionado;

            MostrarInformacionDeLaTareaMapa(task);
        }
 private void OnSelectionChangedAsync(MapSelectionChangedEventArgs obj)
 {
     if (obj.Map != MapView.Active.Map)
     {
         return;
     }
     if (_mapOverlay != null)
     {
         _mapOverlay.Dispose();
     }
     SetState(obj.Selection);
 }
示例#16
0
 private void OnSelectionChanged(MapSelectionChangedEventArgs obj)
 {
     if (obj.Map != MapView.Active.Map)
     {
         return;
     }
     //Run on MCT
     _ = QueuedTask.Run(() =>
     {
         _polyLineFeatureSelected = CheckSelectionAsync(obj.Selection);
     });
 }
示例#17
0
 void MapControl_SelectionChanged(object sender, MapSelectionChangedEventArgs e)
 {
     Sales.MapItem salesItem = ItemsLayer.SelectedItem as Sales.MapItem;
     if (salesItem == null)
     {
         return;
     }
     if (updateChartActionCore != null)
     {
         updateChartActionCore(salesItem);
     }
 }
示例#18
0
文件: Maps.cs 项目: shine8319/DLS
 void mapControl1_SelectionChanged(object sender, MapSelectionChangedEventArgs e) {
     IList<object> selection = e.Selection;
     if(selection == null || selection.Count != 1)
         return;
     CityWeather cityWeatherInfo = selection[0] as CityWeather;
     this.actualWeatherInfo = cityWeatherInfo;
     if(cityWeatherInfo != null) {
         if(cityWeatherInfo.Forecast == null) {
             OpenWeatherMapService.GetForecastForCityAsync(cityWeatherInfo);
             cityWeatherInfo.ForecastUpdated += cityWeatherInfo_ForecastUpdated;
         } else
             cityWeatherInfo_ForecastUpdated(cityWeatherInfo, null);
     }
 }
示例#19
0
        private void Map_SelectionChanged(object sender, MapSelectionChangedEventArgs e)
        {
            var selectedStation = e.Selection.Count > 0 ? e.Selection[0] as
                                  MapCallout : null;

            if (selectedStation == null)
            {
                UpdateSeries(null);
            }
            else
            {
                UpdateSeries(selectedStation.Text);
            }
        }
        //Event handler when the MapSelection event is triggered.
        private void OnMapSelectionChangedEvent(MapSelectionChangedEventArgs obj)
        {
            if (MapView.Active == null)
            {
                return;
            }

            QueuedTask.Run(() =>
            {
                // Check to see if there is a selected feature layer
                var featLayer = MapView.Active.Map.GetLayersAsFlattenedList().FirstOrDefault(l => l.Name == SelectedFeatureLayer) as FeatureLayer;
                if (featLayer == null)
                {
                    return;
                }
                // Get the selected records, and check/exit if there are none:
                var featSelectionOIDs = featLayer.GetSelection().GetObjectIDs();
                if (featSelectionOIDs.Count == 0 || featSelectionOIDs.Count > 1)
                {
                    return;
                }

                using (var rowCursor = featLayer.GetSelection().Search(null))
                {
                    rowCursor.MoveNext();
                    var anyRow = rowCursor.Current;
                    _dataNaipf2019.TxtTbType1      = anyRow["type_couv1"].ToString();
                    _dataNaipf2019.TxtTbType2      = anyRow["type_couv2"].ToString();
                    _dataNaipf2019.TxtTbPart       = anyRow["part_str"].ToString();
                    _dataNaipf2019.TxtTbDens1      = anyRow["et1_dens"].ToString();
                    _dataNaipf2019.TxtTbDens2      = anyRow["et2_dens"].ToString();
                    _dataNaipf2019.TxtTbHaut1      = anyRow["et1_haut"].ToString();
                    _dataNaipf2019.TxtTbHaut2      = anyRow["et2_haut"].ToString();
                    _dataNaipf2019.TxtTbCouvGaule  = anyRow["couv_gaule"].ToString();
                    _dataNaipf2019.TxtTbEtDomi     = anyRow["et_domi"].ToString();
                    _dataNaipf2019.TxtTbOrigine    = anyRow["origine"].ToString();
                    _dataNaipf2019.TxtTbAnnOrg     = anyRow["an_origine"].ToString();
                    _dataNaipf2019.TxtTbRebEss1    = anyRow["reb_ess1"].ToString();
                    _dataNaipf2019.TxtTbRebEss2    = anyRow["reb_ess2"].ToString();
                    _dataNaipf2019.TxtTbRebEss3    = anyRow["reb_ess3"].ToString();
                    _dataNaipf2019.TxtTbEtage      = anyRow["etagement"].ToString();
                    _dataNaipf2019.TxtTbAge1       = anyRow["et1_age"].ToString();
                    _dataNaipf2019.TxtTbAge2       = anyRow["et2_age"].ToString();
                    _dataNaipf2019.TxtTbPertMoy    = anyRow["perturb"].ToString();
                    _dataNaipf2019.TxtTbAnnPertMoy = anyRow["an_perturb"].ToString();
                    _dataNaipf2019.TxtTbCdeTerr    = anyRow["co_ter"].ToString();
                }
            });
        }
示例#21
0
        private void OnMapSelectionChangedEvent(MapSelectionChangedEventArgs obj)
        {
            var selection     = obj.Selection;
            var keyValuePairs = selection.Where(kvp => (kvp.Key is BasicFeatureLayer) &&
                                                (kvp.Key as BasicFeatureLayer).ShapeType == esriGeometryType.esriGeometryPolygon);

            if (keyValuePairs.Count() > 0)
            {
                FrameworkApplication.State.Activate("planet_state_ispolyselected");
            }
            else
            {
                FrameworkApplication.State.Deactivate("planet_state_ispolyselected");
            }
        }
示例#22
0
        private void UsuarioSeleccionoPing(object sender, MapSelectionChangedEventArgs e)
        {
            var objetoSeleccionado = e.Selection.FirstOrDefault();
            LimpiarMapa();
            if (objetoSeleccionado == null)
            {
                DoubleClikMapaTraking = false;
                return;
            }
            
            var type = objetoSeleccionado.GetType();
            if (type != typeof(TareaDeCumplimientoDeEntrega)) return;
            var task = (TareaDeCumplimientoDeEntrega)objetoSeleccionado;

            MostrarInformacionDeLaTarea(task);
        }
        /// <summary>
        /// Called after the feature selection changed
        /// </summary>
        /// <param name="args"></param>
        private async void OnMapSelectionChanged(MapSelectionChangedEventArgs args)
        {
            if (SelectedFeatureLayer == null)
            {
                return;
            }
            await GetSelectedFeaturesAsync(SelectedFeatureLayer);

            NotifyPropertyChanged(() => SelectedFeatureDataTable);

            await ComputePieChartAsync();

            NotifyPropertyChanged(() => ChartResult);

            Zoom2Selection();
        }
示例#24
0
        protected override bool OnMapSelectionChangedCore(MapSelectionChangedEventArgs args)
        {
            if (ActiveMapView == null)
            {
                return(false);
            }

            // TODO: only if selection was cleared? Generally allow changing the selection through attribute selection?
            IList <Feature> selection = SelectionUtils.GetSelectedFeatures(ActiveMapView).ToList();

            if (!CanUseSelection(selection))
            {
                //LogPromptForSelection();
                StartSelectionPhase();
            }

            return(true);
        }
示例#25
0
        protected override Task OnSelectionChangedAsync(MapSelectionChangedEventArgs e)
        {
            // NOTE: This method is not called when the selection is cleared by another command (e.g. by 'Clear Selection')
            //       Is there another way to get the global selection changed event? What if we need the selection changed in a button?

            if (_intermittentSelectionPhase
                )         // always false -> toolkeyup is first. This method is apparently scheduled to run after key up
            {
                return(Task.FromResult(true));
            }

            if (CanUseSelection(e.Selection))
            {
                StartSketchPhase();
            }

            return(Task.FromResult(true));
        }
        private void OnMapSelectionChanged(MapSelectionChangedEventArgs args)
        {
            var selection = args.Selection;

            if (selection.Count() == 0)
            {
                FeatureSelected = false;
                CanUpload       = false;
            }
            else
            {
                FeatureSelected = true;
                if (NodeSelected)
                {
                    CanUpload = true;
                }
            }
        }
示例#27
0
        protected override bool OnMapSelectionChangedCore(MapSelectionChangedEventArgs args)
        {
            _msg.VerboseDebug("OnMapSelectionChangedCore");

            if (ActiveMapView == null)
            {
                return(false);
            }

            // TODO: only if selection was cleared? Generally allow changing the selection through attribute selection?

            if (!CanUseSelection(ActiveMapView))
            {
                //LogPromptForSelection();
                StartSelectionPhase();
            }

            return(true);
        }
示例#28
0
        private void OnMapSelectionChanged(MapSelectionChangedEventArgs args)
        {
            _msg.VerboseDebug("OnToolActivateAsync");

            try
            {
                QueuedTaskUtils.Run(
                    delegate
                {
                    // Used to clear derived geometries etc.
                    bool result = OnMapSelectionChangedCore(args);

                    return(result);
                });
            }
            catch (Exception e)
            {
                HandleError($"Error OnSelectionChanged: {e.Message}", e, true);
            }
        }
示例#29
0
        void mapControl1_SelectionChanged(object sender, MapSelectionChangedEventArgs e)
        {
            IList <object> selection = e.Selection;

            if (selection == null || selection.Count != 1)
            {
                return;
            }
            CityWeather cityWeatherInfo = selection[0] as CityWeather;

            this.actualWeatherInfo = cityWeatherInfo;
            if (cityWeatherInfo != null)
            {
                if (cityWeatherInfo.Forecast == null)
                {
                    OpenWeatherMapService.GetForecastForCityAsync(cityWeatherInfo);
                    cityWeatherInfo.ForecastUpdated += cityWeatherInfo_ForecastUpdated;
                }
                else
                {
                    cityWeatherInfo_ForecastUpdated(cityWeatherInfo, null);
                }
            }
        }
        private async void OnMapSelectionChanged(MapSelectionChangedEventArgs args)
        {
            bool contains = false;

            foreach (var selection in args.Selection)
            {
                MapMember    mapMember = selection.Key;
                FeatureLayer layer     = mapMember as FeatureLayer;

                if (layer == Layer)
                {
                    _selection = selection.Value;
                    contains   = true;
                    await GenerateGmlAsync();

                    if (IsVisibleInGlobespotter)
                    {
                        if (_vectorLayerList.EditTool != EditTools.SketchPointTool)
                        {
                            Measurements = await ReloadSelectionAsync();
                        }
                        else
                        {
                            _updateMeasurements = true;
                        }
                    }
                }
            }

            if ((!contains) && (_selection != null))
            {
                Measurements = null;
                _selection   = null;
                await GenerateGmlAsync();
            }
        }
        private async void OnSelectionChanged(MapSelectionChangedEventArgs obj)
        {
            if (MapView.Active.Map != null && obj.Selection.Count == 1)
            {
                var fl = obj.Selection.FirstOrDefault().Key as FeatureLayer;
                if (fl == null || fl.SelectionCount != 1 || fl.ShapeType != esriGeometryType.esriGeometryPoint)
                    return;

                var pointd = await QueuedTask.Run(() =>
                {
                    try
                    {
                        var SelectedOID = fl.GetSelection().GetObjectIDs().FirstOrDefault();
                        if (SelectedOID < 0)
                            return string.Empty;

                        var SelectedLayer = fl as BasicFeatureLayer;

                        var oidField = SelectedLayer.GetTable().GetDefinition().GetObjectIDField();
                        var qf = new ArcGIS.Core.Data.QueryFilter() { WhereClause = string.Format("{0} = {1}", oidField, SelectedOID) };
                        var cursor = SelectedLayer.Search(qf);
                        Row row = null;

                        if (cursor.MoveNext())
                            row = cursor.Current;

                        if (row == null)
                            return string.Empty;

                        var fields = row.GetFields();
                        lock (_lock)
                        {
                            foreach (ArcGIS.Core.Data.Field field in fields)
                            {
                                if (field.FieldType == FieldType.Geometry)
                                {
                                    // have mappoint here
                                    var val = row[field.Name];
                                    if (val is MapPoint)
                                    {
                                        var temp = val as MapPoint;
                                        // project to WGS1984
                                        proCoordGetter.Point = temp;
                                        proCoordGetter.Project(4326);
                                        return string.Format("{0:0.0####} {1:0.0####}", proCoordGetter.Point.Y, proCoordGetter.Point.X);
                                    }
                                    break;
                                }
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                    }

                    return string.Empty;
                });

                if (!string.IsNullOrWhiteSpace(pointd))
                {
                    InputCoordinate = pointd;
                }
            }
        }
    private async void OnSelectionChanged(MapSelectionChangedEventArgs obj)
    {
      if (obj.Map != MapView.Active.Map) return;

      _cachedValue = false;
      _cachedValue = await CheckSelectionAsync(obj.Selection);
    }
        private async void OnSelectionChanged(MapSelectionChangedEventArgs obj)
        {
            if (MapView.Active.Map != null && obj.Selection.Count == 1)
            {
                var fl = obj.Selection.FirstOrDefault().Key as FeatureLayer;
                if (fl == null || fl.SelectionCount != 1 || fl.ShapeType != esriGeometryType.esriGeometryPoint)
                {
                    return;
                }

                var pointd = await QueuedTask.Run(() =>
                {
                    try
                    {
                        var SelectedOID = fl.GetSelection().GetObjectIDs().FirstOrDefault();
                        if (SelectedOID < 0)
                        {
                            return(string.Empty);
                        }

                        var SelectedLayer = fl as BasicFeatureLayer;

                        var oidField = SelectedLayer.GetTable().GetDefinition().GetObjectIDField();
                        var qf       = new ArcGIS.Core.Data.QueryFilter()
                        {
                            WhereClause = string.Format("{0} = {1}", oidField, SelectedOID)
                        };
                        var cursor = SelectedLayer.Search(qf);
                        Row row    = null;

                        if (cursor.MoveNext())
                        {
                            row = cursor.Current;
                        }

                        if (row == null)
                        {
                            return(string.Empty);
                        }

                        var fields = row.GetFields();
                        lock (_lock)
                        {
                            foreach (ArcGIS.Core.Data.Field field in fields)
                            {
                                if (field.FieldType == FieldType.Geometry)
                                {
                                    // have mappoint here
                                    var val = row[field.Name];
                                    if (val is MapPoint)
                                    {
                                        var temp = val as MapPoint;
                                        // project to WGS1984
                                        proCoordGetter.Point = temp;
                                        proCoordGetter.Project(4326);
                                        return(string.Format("{0:0.0####} {1:0.0####}", proCoordGetter.Point.Y, proCoordGetter.Point.X));
                                    }
                                    break;
                                }
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                    }

                    return(string.Empty);
                });

                if (!string.IsNullOrWhiteSpace(pointd))
                {
                    InputCoordinate = pointd;
                }
            }
        }
 protected override Task OnSelectionChangedAsync(MapSelectionChangedEventArgs e)
 {
     return(base.OnSelectionChangedAsync(e));
 }
 /// <summary>
 /// Called when the selection o
 /// </summary>
 /// <param name="args"></param>
 private void OnMapSelectionChanged(MapSelectionChangedEventArgs args)
 {
     if (SelectedFeatureLayer == null) return;
     GetSelectedFeatures(SelectedFeatureLayer);
     ComputePieChart();
     Zoom2Select();
 }
    private void OnSelectionChanged(MapSelectionChangedEventArgs args)
    {
      if (args.Map != _activeMap)
        return;

      UpdateForActiveMap(false, args.Selection);
    }