考虑下面的代码,它在UWP MapControl上绘制一条线:
if (mPoints.Count >= 2)
{
var shape = new MapPolyline
{
StrokeThickness = 3,
StrokeColor = Colors.Green,
StrokeDashed = true,
ZIndex = 1,
Path = new Geopath(mPoints.Take(2))
};
mapControl.MapElements.Add(shape);
适用于Windows 10桌面,但是在Windows Phone上的mPoints.Take(2)(mPoints有2个元素)崩溃
将其更改为以下内容可解决问题:
List<BasicGeoposition> l = new List<BasicGeoposition>() { mPoints[0], mPoints[1] };
var shape = new MapPolyline
{
StrokeThickness = 3,
StrokeColor = Colors.Green,
StrokeDashed = true,
ZIndex = 1,
Path = new Geopath(l)
};
mapControl.MapElements.Add(shape);
但我真的很想知道为什么Linq版本不能在Windows手机上运行?这是uwp平台中的一个错误,我使用Take错误还是未实现?
顺便说一下,它是在Lumia 930和Lumia 650上测试的,它在两者上都崩溃了