private void BCircleIconReleased(object sender, IconMovedEventArgs e) { if (fov != null) fov.Calculate(); if (_firstMove) { CanBeDragged = true; fov = null; } bCircle.Visibility = (_attached) ? Visibility.Collapsed : Visibility.Visible; if (focus != null && focus.Geometry is MapPoint && fov != null) { fov.Attach(_state, focus); //bRotateFix.Visibility = Visibility.Visible; } }
private void InitFov(IconMovedEventArgs e) { fov = new FieldOfView { Layer = _layer }; var p = e.Position; var pos = AppState.ViewDef.ViewToWorld(p.X, p.Y); var mpStart = (MapPoint)Mercator.FromGeographic(new MapPoint(pos.Y, pos.X)); var p2 = e.Position; var pos2 = AppState.ViewDef.ViewToWorld(p2.X + 65, p2.Y - 65); var mpFinish = (MapPoint)Mercator.FromGeographic(new MapPoint(pos2.Y, pos2.X)); fov.Init(_layer, mpStart, mpFinish, Resources); CanBeDragged = false; }
private void UcPlacemarkLoaded(object sender, RoutedEventArgs e) { if (ReferenceEquals(Tag, "First")) { CanBeDragged = true; } else { bCircle.IsExpanded = false; } ssHeight.ValueChanged += ssHeight_ValueChanged; bCircle.Background = Brushes.Black; //bCircle.PreviewMouseDown += UcGeorefenceMouseDown; //bCircle.PreviewMouseMove += UcGeorefenceMouseMove; //bCircle.PreviewMouseUp += UcGeorefenceMouseUp; //bCircle.PreviewTouchDown += BCircleTouchDown; //bCircle.PreviewTouchMove += BCircleTouchMove; //bCircle.PreviewTouchUp += BCircleTouchUp; bCircle.RelativeElement = AppState.ViewDef.MapControl; bCircle.IconMoved += BCircleIconMoved; bCircle.IconTapped += BCircleIconTapped; bCircle.IconReleased += BCircleIconReleased; var db = DataContext as DataBinding; if (db != null) { fov = db.Attributes["measure"] as FieldOfView; _state = db.Attributes["state"].ToString(); Menu = Convert.ToBoolean(db.Attributes["menuenabled"]); if (_state == "finish") { iIcon.Source = new BitmapImage(new Uri("pack://application:,,,/csCommon;component/Resources/Icons/target.png")); } //var fvr = new FieldOfViewRequest(r.Location, // r.MinVisualRange, r.MaxVisualRange, // r.Orientation, r.ViewAngle, // mo, r.Mask, r.Color); //var result = fovClient.ComputeFoV(fvr); //Execute.OnUIThread(() => UpdateFoV(si, result, cachedFileName, true, sg.Id)); //switch (db.Attributes["state"].ToString()) //{ // case "StartMeasure": // if (_start != null) // { // Position = (MapPoint)Mercator.ToGeographic(_start.Geometry); // _start.AttributeValueChanged += StartAttributeValueChanged; // } // break; // case "FinishMeasure": // if (_finish != null) // { // Position = (MapPoint)Mercator.ToGeographic(_finish.Geometry); // _finish.AttributeValueChanged += StartAttributeValueChanged; // } // break; //} } if (!CanBeDragged) { ShowInfo = true; } if (fov != null) { sbAutoHeight.IsChecked = fov.AutoHeight; fov.PropertyChanged += FovPropertyChanged; } }