在Windows Phone 8.1中映射带孔的多边形

时间:2014-07-30 05:01:37

标签: windows-phone-8.1

我想要实现的是这样的情况:http://rbrundritt.files.wordpress.com/2013/11/image3.png 根据本教程:http://guido1993.wordpress.com/2014/04/24/complex-polygons-in-bing-maps/ 我的完整代码是:

using System.Collections.Generic;
using Windows.Devices.Geolocation;
using Windows.UI;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Controls.Maps;
using Windows.UI.Xaml.Navigation;

namespace MapTest
{
    public sealed partial class MainPage : Page
    {
        public MainPage()
        {
            this.InitializeComponent();

            this.NavigationCacheMode = NavigationCacheMode.Required;
        }

        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            MapPolygon shape = new MapPolygon();
            List<BasicGeoposition> positions = new List<BasicGeoposition>();

            positions.Add(new BasicGeoposition() { Latitude = 48, Longitude = 18 });
            positions.Add(new BasicGeoposition() { Latitude = 48, Longitude = 20 });
            positions.Add(new BasicGeoposition() { Latitude = 49, Longitude = 19 });
            positions.Add(new BasicGeoposition() { Latitude = 48, Longitude = 18 });

            positions.Add(new BasicGeoposition() { Latitude = 48.25, Longitude = 18.5 });
            positions.Add(new BasicGeoposition() { Latitude = 48.75, Longitude = 19 });
            positions.Add(new BasicGeoposition() { Latitude = 48.25, Longitude = 19.5 });

            positions.Add(new BasicGeoposition() { Latitude = 48.25, Longitude = 18.5 });
            positions.Add(new BasicGeoposition() { Latitude = 48, Longitude = 18 });

            shape.Path = new Geopath(positions);
            ctrlMap.MapElements.Add(shape);
        }
    }
}

XAML文件中只有地图控件。 我尝试使用Bing SDK在Windows应用商店应用中使用相同的坐标,并正确显示多边形。 当我尝试在Windows Phone中显示具有相同坐标的Polyline时,它也会显示。 Windows Phone 8.1不支持吗? 或者我应该使用不同的课程? 当多边形应该显示为无效时(如果是),是否可以有一些响应?

谢谢。

1 个答案:

答案 0 :(得分:0)

这是一个已知错误,也不会在Windows 10中修复。 Please vote on UserVoice如果您还需要此功能。