我正在尝试使用天气中心将天气叠加层添加到 WPF 中的 bing 地图上。我已经在一个 Web 应用程序中完成了这项工作,我尝试使用类似的逻辑并且它有点工作,但似乎我有一个错误。每次有视图更改时,我基本上都会调用新的叠加层并清除旧的叠加层,使用 bing 拥有的 {quadkey} 系统和天气中心可以使用。这在 Web 应用程序中有效,并且有点工作,但瓷砖一直在闪烁。似乎瓷砖适用于不同的缩放级别,无法决定选择哪个?我不太确定。谢谢你的帮助。
public partial class MainWindow : Window
{
Microsoft.Maps.MapControl.WPF.MapTileLayer tileLayer;
private double tileOpacity = .7;
public MainWindow()
{
InitializeComponent();
MapTileOverlay.ViewChangeEnd += new EventHandler<Microsoft.Maps.MapControl.WPF.MapEventArgs>(MapTileOverlay_ViewChangeEnd);
}
void MapTileOverlay_ViewChangeEnd(object sender, Microsoft.Maps.MapControl.WPF.MapEventArgs e)
{
MapTileLayer.Children.Clear();
tileLayer = new Microsoft.Maps.MapControl.WPF.MapTileLayer();
Microsoft.Maps.MapControl.WPF.TileSource tileSource = new Microsoft.Maps.MapControl.WPF.TileSource("http://datacloud.wxc.com/?type=tile&bing={quadkey}&datatype=forecast&var=Clouds&time=now&vs=0.9&passkey=our_key");
tileLayer.TileSource = tileSource;
tileLayer.Opacity = tileOpacity;
MapTileOverlay.Children.Add(tileLayer);
}
}