MapPolyline.Path.Add不起作用

时间:2015-06-12 17:15:57

标签: c# geolocation windows-phone-8.1

我将此代码用于我的应用:

var line = new MapPolyline();
line.StrokeColor = Colors.Red;
line.StrokeThickness = 2;
line.Path.Add(new GeoCoordinate(lat,long));   //<== this
line.Path.Add(new GeoCoordinate(lat, long));  //<== and this
MyMap.MapElements.Add(line);

我使用的是Windows Phone 8.1 在标记的位置收到此错误:

  

'Windows.Devices.Geolocation.Geopath'不包含'Add'的定义,也没有扩展方法'Add'接受类型'Windows.Devices.Geolocation.Geopath'的第一个参数可以找到(你错过了吗?) using指令或程序集引用?)

该怎么做?

P.S。我使用Windows.Devices.Geolocation;

1 个答案:

答案 0 :(得分:2)

没错。您必须单独生成列表并使用构造函数传递它:

List<BasicGeoposition> positions = new List<BasicGeoposition>();
// Now add your positions:
positions.Add(new BasicGeoposition(){ Latitude = lat, Longitude = long});   //<== this
positions.Add(new BasicGeoposition(){ Latitude = lat, Longitude = long));  //<== and this
Geopath path = new Geopath(positions);
var line = new MapPolyline();
// Set your path
line.Path = path;
line.StrokeColor = Colors.Red;
line.StrokeThickness = 2;
MyMap.MapElements.Add(line);

我知道 - 这有点棘手。但我认为目的是一旦在地图上绘制多边形,就无法操纵路径。