CustomMapTileDataSource未渲染任何图像

本文关键字:任何 图像 CustomMapTileDataSource | 更新日期: 2023-09-27 18:29:59

我在Windows Phone 8.1上使用Bing地图,尝试在地图上渲染GIF图像。

我希望能够将它们添加为互动程序。

编辑:我使用了来自Microsoft的以下链接作为基本示例:http://msdn.microsoft.com/en-us/library/windows/apps/xaml/dn632728.aspx

这是我用来渲染图像的代码。没有任何中断,我没有看到任何错误,但图像没有显示。如果我将图像添加为map控件的子项,我可以看到该图像,因此我得出结论,这与DataSource本身有关。

任何关于为什么不渲染图像的想法都将非常有用。

// item is a IRandomAccessStream
MainMap.AddImage(item);
// the following methods/events are in another class
// imageData is a global IRandomAccessStream
// _map is my Map object
public void AddImage(IRandomAccessStream image, double x, double y)
    {
        imageData = image;
        X = x;
        Y = y;
        CustomMapTileDataSource customSource = new CustomMapTileDataSource();
        customSource.BitmapRequested += customSource_BitmapRequested;
        var customTileSource = new MapTileSource(customSource);
        customTileSource.Visible = true;
        customTileSource.ZIndex = 10;
        customTileSource.TilePixelSize = 256;
        _map.TileSources.Add(customTileSource);
private async void customSource_BitmapRequested(CustomMapTileDataSource sender, MapTileBitmapRequestedEventArgs args)
    {
        var deferral = args.Request.GetDeferral();
        args.Request.PixelData = await GetImageData();
        deferral.Complete();
    }
private async Task<IRandomAccessStreamReference> GetImageData()
    {
        return RandomAccessStreamReference.CreateFromStream(imageData);
    }

CustomMapTileDataSource未渲染任何图像

看起来您有一个始终使用的流,但从未将位置设置为0。想知道是否可能在第一个瓦片请求之后,如果所有额外的瓦片都没有得到任何数据。

看看我使用CustomMapTileDataSource类组合的这个代码示例:https://code.msdn.microsoft.com/Adding-Opacity-and-WMS-cf6773f1

第二个链接:https://rbrundritt.wordpress.com/2015/05/06/adding-opacity-and-wms-support-to-tile-layers-in-wp8-1-maps/

如果你注释掉了改变我的代码示例中像素不透明度的for循环,它应该正是你想要做的。