public MapTakeover(UIElement mapOverlay, RectSubset centerRegionOverride, MapView viewOverride) { MapOverlay = mapOverlay; CenterRegionOverride = centerRegionOverride; ViewOverride = viewOverride; }
public async Task TrySetView(MapView view) { if (view.Area == null) { Geopoint adjustedCenter = null; if (view.Center != null) adjustedCenter = (Geopoint)CenterConverter.Convert(view.Center.Value, typeof(Geopoint), null, null); var result = await MainMap.TrySetViewAsync(adjustedCenter, view.ZoomLevel, null, null, view.Animate ? MapAnimationKind.Default : MapAnimationKind.None); } else { await MainMap.TrySetViewBoundsAsync(new GeoboundingBox(view.Area.Value.NW.ToBasicGeoposition(), view.Area.Value.SE.ToBasicGeoposition()), null, view.Animate ? MapAnimationKind.Default : MapAnimationKind.None); } }
protected void OnChangeViewRequested(MapView view) { if (ChangeViewBackCommand?.CanExecute(view) ?? false) ChangeViewBackCommand.Execute(view); }
private void SetTakeover(MapView requestedView = null) { if (ArrivalsPopup.Visibility == Visibility.Visible) { MapTakeover takeover; if (Maximized) takeover = new MapTakeover(OffMapPopup, new RectSubset() { Top = MAXIMIZED_MAP_MARGIN, TopValueType = RectSubsetValueType.Length }, requestedView); else takeover = new MapTakeover(null, new RectSubset() { Top = 0.2, TopValueType = RectSubsetValueType.Length, TopScale = RectSubsetScale.Relative }, requestedView); InvokeTakeoverRequested(takeover); } else InvokeTakeoverRequested(null); }