private static BingMapsOverlay AddBingMapOverlayToMap(GisEditorWpfMap map, BingMapsConfigWindow configWindow, BingMapsOverlay bingOverlay) { bingOverlay = new BingMapsOverlay(configWindow.BingMapsKey, (Wpf.BingMapsMapType)configWindow.BingMapsStyle);//new BingMapsOverlay(configWindow.BingMapsKey); bingOverlay.Logo = null; bingOverlay.Name = GisEditor.LanguageManager.GetStringResource("BingMapsConfigWindowTitle"); bingOverlay.TileType = TileType.HybridTile; bingOverlay.DrawingExceptionMode = DrawingExceptionMode.DrawException; bingOverlay.DrawingException += new EventHandler <DrawingExceptionTileOverlayEventArgs>(BingOverlay_DrawingException); bingOverlay.RefreshCache(); BaseMapsHelper.AddOverlayInGoogleProjection(bingOverlay, map); return(bingOverlay); }
private void ProjectManager_Opened(object sender, OpenedProjectManagerEventArgs e) { ProjectPluginManager projectManager = sender as ProjectPluginManager; if (projectManager != null) { var maps = projectManager.GetDeserializedMaps(); var mapsWithBings = maps.Select(m => new { Map = m, BingOverlays = m.Overlays.OfType <BingMapsOverlay>().ToList() }) .Where(o => o.BingOverlays.Count > 0).ToList(); var hasKey = !String.IsNullOrEmpty(BingMapsKey); var needAskForKey = false; foreach (var mapWithBings in mapsWithBings) { foreach (var bing in mapWithBings.BingOverlays) { if (hasKey) { bing.ApplicationId = BingMapsKey; } else if (mapWithBings.Map.Overlays.Contains(bing)) { needAskForKey = true; mapWithBings.Map.Overlays.Remove(bing); } } } if (needAskForKey && mapsWithBings.Count > 0) { BingMapsConfigWindow configWindow = new BingMapsConfigWindow(); if (configWindow.ShowDialog().GetValueOrDefault()) { foreach (var mapWithBings in mapsWithBings) { foreach (var bing in mapWithBings.BingOverlays) { if (!mapWithBings.Map.Overlays.Contains(bing)) { bing.ApplicationId = BingMapsKey; mapWithBings.Map.Overlays.Insert(0, bing); } } if (mapWithBings.Map.ActualWidth != 0 || mapWithBings.Map.ActualHeight != 0) { mapWithBings.Map.Refresh(); } } } } } }
public static BingMapsOverlay AddBingMapsOverlay(GisEditorWpfMap map) { BingMapsConfigWindow configWindow = new BingMapsConfigWindow(); BingMapsOverlay bingOverlay = null; if (!string.IsNullOrEmpty(configWindow.BingMapsKey)) { if (((BingMapsConfigViewModel)configWindow.DataContext).Validate()) { bingOverlay = AddBingMapOverlayToMap(map, configWindow, bingOverlay); } } else { if (configWindow.ShowDialog().GetValueOrDefault()) { bingOverlay = AddBingMapOverlayToMap(map, configWindow, bingOverlay); } } return(bingOverlay); }
private void ShowProperties() { BingMapsConfigWindow configWindow = new BingMapsConfigWindow(); configWindow.ShowDialog(); }