【发布时间】:2014-09-16 17:52:45
【问题描述】:
在我的 Windows Phone 8 应用程序中,我使用自定义 TileSource 以将默认地图背景与自定义图块重叠,以这种方式:
C#:
public class CustomTileSource : TileSource
{
public CustomTileSource()
{
UriFormat ="http://myurl/{0}/{1}/{2}.png";
}
public override Uri GetUri(int x, int y, int zoomLevel)
{
if (zoomLevel > 0 && zoomLevel <= 18)
{
var url = string.Format(UriFormat, zoomLevel, x, y);
return new Uri(url);
}
//if zoom level is not supported, return null
return null;
}
}
XAML:
...
xmlns:maps="clr-namespace:Microsoft.Phone.Maps.Controls;assembly=Microsoft.Phone.Maps"
xmlns:tileSource="clr-namespace:Mappa"
...
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
<maps:Map x:Name="Map" Center="45,9" ZoomLevel="14">
<maps:Map.TileSources>
<tileSource:CustomTileSource />
</maps:Map.TileSources>
</maps:Map>
</Grid>
我的问题是我需要删除默认地图图层以隐藏标签(地铁站、社区名称等)。
我知道这可以通过带有MapTileLayer.BackgroundReplacement 属性(状态为here)的 Windows Phone 8.1 轻松完成,但我找不到有关 Windows Phone 8 的任何信息。
【问题讨论】:
标签: c# xaml windows-phone-8