2016-12-19 20 views
8

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

In MapBox

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

+0

Czy próbowałeś zmienić warstwę MapTileSource? Na przykład mts.Layer = MapTileLayer.BackgroundReplacement; – Kuba

+0

Właśnie wypróbowałem to. Nic się nie zmieniło niestety :(. Dzięki i tak :) – Sudo

+0

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. '' – schumi1331

Odpowiedz

0

MapControl jest bardzo skomplikowane sterowanie. Używa SwapChainPanel do współdziałania z Direct X. Byłoby zaskoczeniem, jeśli to, co spróbujesz zrobić, jest możliwe.

Powiązane problemy