Windows 10个通用App自定义地图

Windows 10 Universal App custom map

我想创建一个飞机导航应用程序。由于对于飞行员来说 Bing 地图毫无用处,我需要创建自己的地图,航空地图的纹理。

我找不到任何关于如何开始的线索。是否有 Bing 地图的 SDK,我可以在其中创建自己的 texture/overlay? 我是否需要从底部开始创建图片并更改其位置,以便相关部分位于设备的可见区域?

我需要以下功能:

经过相当多的研究,我自己弄明白了。 如果你有相同的场景,这里是大部分需要的代码

URI 格式: "https://webserver/tiles/{zoomlevel}/{x}/{y}.png";

private void InitMap()
    {
        _gps = new Geolocator();
        pointBuffer = cologne;
        image = RandomAccessStreamReference.CreateFromUri(new Uri("ms-appx:///Assets/images/airplane.png"));
        MyMap.Style = MapStyle.None;

        //Setup Icao Layer
        _icaoTileSource = new MapTileSource();
        var _tileLayer = new HttpMapTileDataSource();
        _tileLayer.UriFormatString = IcaoUri;
        _icaoTileSource.DataSource = _tileLayer;
        MyMap.TileSources.Add(_icaoTileSource);

        //Setup VFR Layer
        _vfrTileSource = new MapTileSource();
        var _vfrtileLayer = new HttpMapTileDataSource();
        _vfrtileLayer.UriFormatString = VfrUri;
        _vfrTileSource.DataSource = _vfrtileLayer;

        //Setup Low Level Layer
        _lowlvlTileSource = new MapTileSource();
        var _lowlvltileLayer = new HttpMapTileDataSource();
        _lowlvltileLayer.UriFormatString = LowLvlUri;
        _lowlvlTileSource.DataSource = _lowlvltileLayer;

        airplane = new MapIcon()
        {
            Title = "My Position",
            Image = image,
            Visible = true,
            Location = cologne,
            NormalizedAnchorPoint = new Point(0.5, 0.5)

        };
        _tileLayer.AllowCaching = true;
        MyMap.MapElements.Add(airplane);
        systemSetCenter = true;
        MyMap.Center = cologne;
        MyMap.ZoomLevel = 10;
        _vm.ZoomLevel = MyMap.ZoomLevel;
        MyMap.ZoomLevelChanged += (s, e) =>
        {
            if(s.ZoomLevel > maxZoomLevel)
            {
                s.ZoomLevel = maxZoomLevel;
            }
            _vm.ZoomLevel = s.ZoomLevel;
        };
    }