gpt4 book ai didi

c# - 未绘制 MapPolyline

转载 作者:行者123 更新时间:2023-11-30 13:48:07 25 4
gpt4 key购买 nike

我正在尝试在我的 map 中使用 MapPolyLine 来显示实时路线,希望它会移动/缩放 this time .问题是路线没有显示在 map 上,我找不到任何编程错误:

C#

MapLayer pathLayer;

//Constructor
pathLayer = new MapLayer();
MapPolyline line = new MapPolyline();
line.StrokeColor = Colors.Red;
line.StrokeThickness = 10;
//line.Path.Add(several points); Tested, no effect
MapOverlay overlay = new MapOverlay();
overlay.Content = line;
//overlay.GeoCoordinate = new GeoCoordinate(0,0); Tested, no effect
//overlay.PositionOrigin = new Point(0.0, 1.0); Tested, no effect
pathLayer.Add(overlay);
MyMap.Layers.Add(pathLayer);


void geolocator_PositionChanged(Geolocator sender, PositionChangedEventArgs args)
{
MapPolyline line = pathLayer.First(TrackPath).Content as MapPolyline;
line.Path.Add(args.Position.Coordinate); // Checked values, line.Path adds them correctly
}

编辑:新信息。模拟器在尝试使用 XAML 添加它时显示错误,并且模拟器在 map 顶部显示类的名称作为图形故障:

Emulator error on top, XAML on the right

最佳答案

MapPolylinesMapPolygons 应该添加到 MapElements 集合中...而不是 MapLayerMapOverlay.

您应该能够让这个示例为您工作。

        MapPolyline line = new MapPolyline();
line.StrokeColor = Colors.Red;
line.StrokeThickness = 10;
line.Path.Add(new GeoCoordinate(47.6602, -122.098358));
line.Path.Add(new GeoCoordinate(47.561482, -122.071544));
MyMap.MapElements.Add(line);

在您的 GeoCoord 观察器中,您必须从 map 的 MapElements 集合中获取线,并将新位置添加到线的路径中,而不是像我那样进行预定义。这应该是可行的。

关于c# - 未绘制 MapPolyline,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13625797/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com