如何在 Gmap.net wpf 中创建路由

本文关键字:创建 路由 wpf net Gmap | 更新日期: 2023-09-27 18:34:47

我希望你能帮助我。我在 Web 上找不到任何有用的 WPF 版本的 GMap.net。

问题:我看不到我的路线。

List<Location> points = PolylinePoint.Decode(responseData.routes.First().overview_polyline.points);
GMap.NET.WindowsPresentation.GMapRoute route = new GMap.NET.WindowsPresentation.GMapRoute(points.Select(x => new PointLatLng(x.Latitude.Value, x.Longitude.Value)));
route.ZIndex = ROUTESLIST;
route.Shape = new Line() { StrokeThickness = 4, Stroke = System.Windows.Media.Brushes.BlueViolet };
this.routenList.Clear();
this.routenList.Add(route);

主要问题是,我不能像 GMap.NET 教程那样使用叠加层。

有什么建议吗?

如何在 Gmap.net wpf 中创建路由

    RoutingProvider routingProvider = 
       _map.MapProvider as RoutingProvider ?? GMapProviders.OpenStreetMap;
    MapRoute route = routingProvider.GetRoute(
        new PointLatLng(35.834914, -76.009508), //start
        new PointLatLng(35.854914, -76.009508), //end
        false, //avoid highways 
        false, //walking mode
        (int)_map.Zoom);
    GMapRoute gmRoute = new GMapRoute(route.Points);
    _map.Markers.Add(gmRoute);

一般方法是添加一个标记并将路由点添加到标记的Route

var track = new List<PointLatLng>();
// add PointLatLngs to 'track' here
var routeMarker = new GMapMarker(track.First());
routeMarker.Route.AddRange(track);
// don't forget to add the marker to the map
_mapControl.Markers.Add(routeMarker);