0

我正在使用 Windows Phone 8 中的地图控件。我已经声明了一个 MapPolyLine 字段变量

private MapPolyline _line;

初始化我的主页后,我将其添加到我的地图控件中。

_line = new MapPolyline();
_line.StrokeColor = Colors.Red;
_line.StrokeThickness = 5;
Map.MapElements.Add(_line);

在 PositionChanged 事件中,我检查了这种情况。

if (_line.Path.Count > 0)

然后用这条线相应地更新地图。IE

var previousPoint = _line.Path.Last();
var distance = coord.GetDistanceTo(previousPoint);`
var coord = new GeoCoordinate(e.Position.Location.Latitude, e.Position.Location.Longitude);

Map.Center = coord;
_line.Path.Add(coord);

但我得到未经授权的访问,跨线程异常。所以我试图把我的所有代码包括'if'条件都放在这个下面

Dispatcher.BeginInvoke(() =>
{
    // Update Map
});

现在没有抛出异常,但是当我将鼠标悬停在 _line.Path.Count 上时,它仍然会抛出异常,但唯一的区别是它没有抛出。

是因为我还没有搬家或改变我的位置吗?不知道,但请提供任何帮助,有人吗?

提前致谢。

4

0 回答 0