【问题标题】:Set Route Color in GMap.NET.WindowsPresentation在 GMap.NET.WindowsPresentation 中设置路线颜色
【发布时间】:2016-12-02 17:12:58
【问题描述】:

我正在使用 Gmap.NET 的 WPF 版本。

这感觉像是一个愚蠢的问题....但我不知道如何更改路线的笔触颜色/宽度。

在 winforms 中,GMapRoute 具有属性 Stroke,可以按照您的预期设置

GMapRoute r = new GMapRoute(route.Points, "My route");
r.Stroke.Width = 2;
r.Stroke.Color = Color.TurdBrown;

WPF 版本好像很不一样,我搞不明白。

【问题讨论】:

    标签: c# wpf gmap.net


    【解决方案1】:

    我可以使用强制转换访问这些属性,这是我的代码:

    GMapRoute mRoute = new GMapRoute(route.Points);
    mRoute.RegenerateShape(MainMap);
    ((System.Windows.Shapes.Path)mRoute.Shape).Stroke = new SolidColorBrush(Colors.Red);
    ((System.Windows.Shapes.Path) mRoute.Shape).StrokeThickness = 20;
    

    首先我创建了 GMapRoute,然后在地图中生成了它的形状,然后我修改了形状,改变了颜色和厚度。

    希望对你有帮助。

    【讨论】:

      【解决方案2】:

      我认为使用 RegenerateShape 来创建 Shape 不利于性能。 最好在将路线添加到地图之前设置线的样式。

      List<PointLatLng> routePath = List<PointLatLng>();
      routePath.Add(new PointLatLng(Lat1,Lon1));
      ....
      routePath.Add(new PointLatLng(LatN,LonN));
      GMapRoute groute = new GMapRoute(routePath);
      groute.Shape = new Path() { Stroke = new SolidColorBrush(Colors.Red), StrokeThickness = 4 };
      map.Markers.Add(groute);
      

      【讨论】:

      • 这个解决方案效果很好,而且 IMO 使用起来更直观。
      猜你喜欢
      • 2011-01-28
      • 2017-05-20
      • 1970-01-01
      • 1970-01-01
      • 2015-05-23
      • 2016-02-18
      • 2017-08-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多