我正在使用 MapBox 显示特定区域的自定义 map 。在 MapBox 中:我的特定区域是黄色的, map 的其余部分是透明的(见下图)。
我想达到的目标: 我想在背景图像上放置一个 MapControl。所以本地图的瓦片是透明的时,我可以看到背景图像。
我遇到的问题: 在我的 UWP 应用程序中, map 的特定区域显示正确(黄色),但 map 的其余部分是黑色的,因此背景图像被 map 隐藏了。
MapBox没有问题,因为生成的瓦片是透明的。我认为问题出在我的应用程序中。
我尝试将 MapControl 的背景设置为透明,但没有成功。
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;
我做错了什么还是根本不可能?
谢谢你的帮助
最佳答案
MapControl 是一个非常复杂的控件。它使用 SwapChainPanel 与 Direct X 互操作。如果您尝试做的事情可行,我会感到惊讶。
关于c# - UWP: MapControl 透明背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41221463/