private void RevertDefaultClick(object sender, RoutedEventArgs e) { if (System.Windows.Forms.MessageBox.Show(GisEditor.LanguageManager.GetStringResource("ZoomLevelSetWindowZoomLevelResetText"), GisEditor.LanguageManager.GetStringResource("ZoomLevelSetWindowRevertToDefaultCaption"), System.Windows.Forms.MessageBoxButtons.YesNo) == System.Windows.Forms.DialogResult.Yes) { var defaultZoomLevelSet = new GoogleMapsZoomLevelSet(); defaultZoomLevelSet.AddZoomLevels(); viewModel.ReaddZoomLevels(defaultZoomLevelSet); } }
private void FillDefaultZoomLevels() { string landProName = "LandProZoomLevelSet"; if (!CustomZoomLevelSets.ContainsKey(landProName)) { List <double> scales = new List <double>(); GoogleMapsZoomLevelSet zoomLevelSet = new GoogleMapsZoomLevelSet(); foreach (var item in zoomLevelSet.GetZoomLevels()) { item.Scale = Math.Round(item.Scale, 6); zoomLevelSet.CustomZoomLevels.Add(item); } for (int i = 0; i < 5; i++) { var scale = zoomLevelSet.CustomZoomLevels.LastOrDefault().Scale * 0.5; var zoomLevel = new ZoomLevel(Math.Round(scale, 6)); zoomLevelSet.CustomZoomLevels.Add(zoomLevel); } Collection <ZoomLevel> zoomLevels = zoomLevelSet.CustomZoomLevels; for (int i = 0; i < zoomLevels.Count; i++) { double scale1 = zoomLevels[i].Scale; double scale2 = zoomLevels[i].Scale; if (zoomLevels.Count > i + 1) { scale2 = zoomLevels[i + 1].Scale; } else { scale2 = scale2 - scale2 / 4; } scale2 = (scale2 + scale1) / 2; scales.Add(scale1); scales.Add(Math.Round(scale2, 6)); } CustomZoomLevelSets.Add(landProName, scales); } string googleName = "GoogleZoomLevelSet"; if (!CustomZoomLevelSets.ContainsKey(googleName)) { GoogleMapsZoomLevelSet zoomLevelSet = new GoogleMapsZoomLevelSet(); CustomZoomLevelSets.Add(googleName, zoomLevelSet.GetZoomLevels().Select(z => z.Scale).ToList()); } string bingName = "BingZoomLevelSet"; if (!CustomZoomLevelSets.ContainsKey(bingName)) { BingMapsZoomLevelSet zoomLevelSet = new BingMapsZoomLevelSet(); CustomZoomLevelSets.Add(bingName, zoomLevelSet.GetZoomLevels().Select(z => z.Scale).ToList()); } }