2016-12-19 68 views
8

我正在使用MapBox来显示特定区域的自定义地图。在MapBox中:我的特定区域是黄色的,地图的其余部分是透明的(参见下图)。UWP:MapControl透明背景

In MapBox

我想要什么来实现的: 我想提出一个地图控件上的背景图像。所以当地图的贴图是透明的时候,我可以看到背景图片。

我的问题: 在我UWP的应用程序,显示在地图的特定区域正确的(黄色),但在地图的其余部分为黑色这样的背景图像是由地图隐藏。

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; 

我是不是做错了什么或者是根本不可能的?

感谢您的帮助

+0

您是否尝试更改MapTileSource的图层?例如mts.Layer = MapTileLayer.BackgroundReplacement; – Kuba

+0

刚刚尝试过。没有任何改变遗憾:(无论如何:)) – Sudo

+0

MapControl的背景属性是否完全忽略?因为如果不是,你可以使用ImageBrush属性设置背景,例如'' – schumi1331

回答

0

MapControl是一个非常复杂的控件。它使用SwapChainPanel与Direct X互操作。如果您尝试执行操作,它会使我感到惊讶。