private void MyMap_MapGesture(object sender, Map.MapGestureEventArgs e) { if (e.Gesture == GestureType.Tap) { var tapGraphic = e.DirectlyOver(10).FirstOrDefault(); if (tapGraphic != null) { MyInfoWindow.DataContext = tapGraphic.Attributes; MyInfoWindow.Anchor = e.MapPoint; MyInfoWindow.IsOpen = true; } } }
private void MyMap_MapGesture(object sender, Map.MapGestureEventArgs e) { if (e.Gesture == GestureType.Tap) { MyInfoWindow.IsOpen = false; GraphicsLayer graphicsLayer = MyMap.Layers["MyGraphicsLayer"] as GraphicsLayer; IEnumerable<Graphic> selected = e.DirectlyOver(10, new GraphicsLayer[] { graphicsLayer }); foreach (Graphic g in selected) { MyInfoWindow.Anchor = e.MapPoint; MyInfoWindow.IsOpen = true; MyInfoWindow.DataContext = g; return; } } }
private void MyMap_MapGesture(object sender, Map.MapGestureEventArgs e) { System.Diagnostics.Debug.WriteLine(DateTime.Now.ToString() + e.Gesture.ToString()); if (e.Gesture == GestureType.Tap || e.Gesture == GestureType.Hold) { List<Graphic> results = new List<Graphic>(e.DirectlyOver(10)); if (results.Count == 0) MyInfoWindow.IsOpen = false; else { _tapGraphic = results[0]; _dispatcherTimer.Start(); } } else if (e.Gesture == GestureType.DoubleTap) { _dispatcherTimer.Stop(); } }
private void MyMap_MapGesture(object sender, Map.MapGestureEventArgs e) { if (e.Gesture == GestureType.Hold) { FeatureLayer featureLayer = MyMap.Layers["SaveTheBayMarineLayer"] as FeatureLayer; IEnumerable<Graphic> selected = e.DirectlyOver(10, new GraphicsLayer[] { featureLayer }); foreach (Graphic g in selected) { InfoWindow.Anchor = e.MapPoint; InfoWindow.IsOpen = true; InfoWindow.Content = g; return; } } else InfoWindow.IsOpen = false; }
private void Map_MapGesture(object sender, Map.MapGestureEventArgs e) { if (!displayAttribute || editor == null || !editor.GraphicsLayers.Any(l => l is FeatureLayer)) return; if (e.Gesture != GestureType.Tap) return; var featureLayers = from l in editor.GraphicsLayers where l is FeatureLayer select l as FeatureLayer; var graphics = e.DirectlyOver(TAP_TOLERANCE, featureLayers); if (graphics != null && graphics.GetEnumerator().MoveNext()) { var graphic = graphics.First(); FeatureLayer layer = null; if (graphic == null) return; foreach (var l in featureLayers) { if (l.Graphics == null) return; if (l.Graphics.Contains(graphic)) { layer = l; break; } } if (layer != null) { e.Handled = true; TemplatePicker.ShowAttributeForm(layer, graphic); this.displayAttribute = this.Continuous; } } }
private void MyMap_MapGesture(object sender, Map.MapGestureEventArgs e) { if (e.Gesture == GestureType.Tap && !facilitiesEditor.CancelActive.CanExecute(null) && !incidentsEditor.CancelActive.CanExecute(null) && !barriersEditor.CancelActive.CanExecute(null)) { MyRouteInfoWindow.IsOpen = false; GraphicsLayer graphicsLayer = MyMap.Layers["MyRoutesGraphicsLayer"] as GraphicsLayer; IEnumerable<Graphic> selected = e.DirectlyOver(10, new GraphicsLayer[] { graphicsLayer }); foreach (Graphic g in selected) { MyRouteInfoWindow.Anchor = e.MapPoint; MyRouteInfoWindow.IsOpen = true; MyRouteInfoWindow.DataContext = g; return; } } }
private void MyMap_MapGesture(object sender, Map.MapGestureEventArgs e) { if (isAdd) return; // open the feature dialog on tap of a feature if (e.Gesture == GestureType.Tap) { IEnumerable<Graphic> graphics = e.DirectlyOver(10, new GraphicsLayer[] { featureLayer } ); foreach (Graphic graphic in graphics) { // if editable, make the editable fields enabled. Otherwise disable them if (featureLayer.IsUpdateAllowed(graphic)) { RotationTB.IsEnabled = true; DescriptionTB.IsEnabled = true; DateTB.IsEnabled = true; TypeButton.IsEnabled = true; } else { RotationTB.IsEnabled = false; DescriptionTB.IsEnabled = false; DateTB.IsEnabled = false; TypeButton.IsEnabled = false; } // show the attribute page for the first of the graphics returned FeatureInfoPage.IsOpen = true; ApplicationBar.IsVisible = false; FeatureInfoPage.DataContext = graphic; // select the type value in the ListBoxes to match the graphic's attributes var typeMatches = FeatureTypeListBox.Items.Where(a => (a as TemplateItem).ID.Equals(graphic.Attributes["eventtype"])); if (typeMatches.Any()) FeatureTypeListBox.SelectedItem = typeMatches.First(); return; } } // move a held feature if (e.Gesture == GestureType.Hold) { IEnumerable<Graphic> graphics = e.DirectlyOver(10, new GraphicsLayer[] { featureLayer } ); foreach (Graphic graphic in graphics) { if (graphic != null && !graphic.Selected && featureLayer.IsUpdateAllowed(graphic)) { Editor editor = LayoutRoot.Resources["MyEditor"] as Editor; if (featureLayer.IsUpdateAllowed(graphic)) { if (editor.EditVertices.CanExecute(null)) editor.EditVertices.Execute(null); } else if (editor.CancelActive.CanExecute(null)) editor.CancelActive.Execute(null); } featureLayer.ClearSelection(); graphic.Select(); } } }