Używam MapBox do wyświetlania niestandardowej mapy określonego obszaru. W MapBox: mój określony obszar jest żółty, a reszta mapy jest przezroczysta (patrz poniższy obrazek).UWP: MapControl Przezroczyste tło
Co chcę osiągnąć: Chcę położyć MapControl nad tła. Więc gdy kafelki mapy są przezroczyste, widzę obraz tła.
Problem mam: W moim UWP aplikacji wyświetlany jest specyficzny obszar mapy poprawnie (żółty), ale reszta mapie jest czarny więc obraz tła jest ukryty przez mapę.
Nie ma problemu z MapBox, ponieważ wygenerowane płytki są przezroczyste. Myślę, że problem występuje w mojej aplikacji.
Próbowałem ustawić tło MapControl na Transparent bez powodzenia.
XAML
<Image x:Name="background"
Stretch="UniformToFill"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"/>
<maps:MapControl x:Name="MyMap"
Background="Transparent"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
MapServiceToken="TOKEN"/>
C#
HttpMapTileDataSource leaflet = new HttpMapTileDataSource(
"URL_TO_MAPBOX_API");
MapTileSource mts = new MapTileSource(leaflet);
mts.IsTransparencyEnabled = true;
mts.AllowOverstretch = true;
mts.IsFadingEnabled = false;
this.MyMap.TileSources.Add(mts);
this.MyMap.Style = MapStyle.None;
Czy robię coś źle, czy jest to po prostu nie możliwe?
Dzięki za pomoc
Czy próbowałeś zmienić warstwę MapTileSource? Na przykład mts.Layer = MapTileLayer.BackgroundReplacement; – Kuba
Właśnie wypróbowałem to. Nic się nie zmieniło niestety :(. Dzięki i tak :) – Sudo
Czy właściwość tła MapControl jest całkowicie ignorowana? Bo jeśli nie, możesz ustawić tło za pomocą właściwości ImageBrush, np. ' MapsControl.Background>' –
schumi1331