我将此代码用于我的应用:
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;
答案 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);
我知道 - 这有点棘手。但我认为目的是一旦在地图上绘制多边形,就无法操纵路径。