GoogleImageryLayer.cs 638 B

12345678910111213141516171819202122232425262728
  1. using Syncfusion.UI.Xaml.Maps;
  2. namespace InABox.Wpf.DynamicGrid;
  3. public enum GoogleImageryLayerType
  4. {
  5. Road,
  6. Satellite,
  7. }
  8. public class GoogleImageryLayer : ImageryLayer
  9. {
  10. private GoogleImageryLayerType _type;
  11. protected override string GetUri(int X, int Y, int Scale)
  12. {
  13. var link = _type == GoogleImageryLayerType.Road
  14. ? $"https://mt1.google.com/vt/lyrs=m@221097413,3&x={X}&y={Y}&z={Scale}"
  15. : $"https://mt0.google.com/vt/lyrs=y&x={X}&y={Y}&z={Scale}";
  16. return link;
  17. }
  18. public GoogleImageryLayerType Type
  19. {
  20. get => _type;
  21. set => _type = value;
  22. }
  23. }