2016-12-19 2 views
8

Я использую MapBox для отображения пользовательской карты определенной области. В MapBox: моя конкретная область желтая, а остальная часть карты прозрачна (см. Следующий рисунок).UWP: MapControl Прозрачный фон

In MapBox

То, что я хочу добиться: Я хочу поставить MapControl над фоновым изображением. Поэтому, когда плитки карты прозрачны, я вижу фоновое изображение.

У меня есть проблема: В моих UWP приложения, конкретная область карты отображаются правильно (желтой), но остальная частью карты является черным, таким образом, фоновое изображение скрыто картой.

Нет проблем с MapBox, поскольку созданные плитки прозрачны. Я думаю, проблема в моем приложении.

Я попытался установить фон MapControl на Transparent без успеха.

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

Вы пытались изменить Layer of MapTileSource? Например mts.Layer = MapTileLayer.BackgroundReplacement; – Kuba

+0

Просто попробовал. Ничего не изменилось к сожалению :(Спасибо в любом случае :) – Sudo

+0

Является ли фоновое свойство MapControl полностью игнорируемым? Потому что, если нет, возможно, вы можете установить фон с помощью свойства ImageBrush, например. '' – schumi1331

ответ

0

MapControl очень сложный контроль. Он использует SwapChainPanel для взаимодействия с Direct X. Это будет удивлять меня, если то, что вы пытаетесь сделать, возможно.

Смежные вопросы