Version 4.17.0: Added support for WMTS

This commit is contained in:
ClemensF 2020-03-20 21:09:19 +01:00
parent ce979ce54c
commit f1ea075047
2 changed files with 11 additions and 10 deletions

View file

@ -20,7 +20,8 @@ namespace MapControl
public class WmtsTileLayer : MapTileLayerBase
{
public static readonly DependencyProperty CapabilitiesUriProperty = DependencyProperty.Register(
nameof(CapabilitiesUri), typeof(Uri), typeof(WmtsTileLayer), new PropertyMetadata(null));
nameof(CapabilitiesUri), typeof(Uri), typeof(WmtsTileLayer),
new PropertyMetadata(null, (o, e) => ((WmtsTileLayer)o).TileMatrixSet = null));
public static readonly DependencyProperty LayerIdentifierProperty = DependencyProperty.Register(
nameof(LayerIdentifier), typeof(string), typeof(WmtsTileLayer), new PropertyMetadata(null));
@ -169,7 +170,7 @@ namespace MapControl
private async void OnLoaded(object sender, RoutedEventArgs e)
{
if (CapabilitiesUri != null)
if (TileMatrixSet == null && CapabilitiesUri != null)
{
try
{

View file

@ -19,17 +19,17 @@ namespace MapControl
public override Uri GetUri(int x, int y, int zoomLevel)
{
if (zoomLevel < 0 || zoomLevel >= tileMatrixes.Count)
Uri uri = null;
if (zoomLevel >= 0 && zoomLevel < tileMatrixes.Count)
{
return null;
uri = new Uri(UriFormat
.Replace("{TileMatrix}", tileMatrixes[zoomLevel].Identifier)
.Replace("{TileCol}", x.ToString())
.Replace("{TileRow}", y.ToString()));
}
var url = UriFormat
.Replace("{TileMatrix}", tileMatrixes[zoomLevel].Identifier)
.Replace("{TileCol}", x.ToString())
.Replace("{TileRow}", y.ToString());
return new Uri(url);
return uri;
}
}
}