我的项目是WPF。 使用这些部分代码我试图添加路由:
PointLatLng start = new PointLatLng(34.633440, 50.867821);
PointLatLng end = new PointLatLng(34.618707, 50.844945);
MapRoute route = GoogleMapProvider.Instance.GetRoute(
start, end, false, false, 15);
但是在所有文章中他们都说我必须将创建的路线添加到叠加层。然后将叠加添加到我的控件。但是没有添加叠加层。 如何将路线添加到我的Control?
答案 0 :(得分:2)
但是没有添加重叠
在您的代码段中,已创建MapRoute实例。我们需要做以下事情:
1.将路由包含在GMapRoute实例GMapRoute构造函数中
取一套点。
2.将GMapRoute实例添加到覆盖
3.将叠加添加到GMapControl
参考: ADDING THE ROUTE TO THE MAP
--------更新5/11/2016 --------
对于WPF应用程序,我们必须将路由包装在 GMapRoute 实例中并添加到 GMapControl.Markers :
RoutingProvider rp = gmap1.MapProvider as RoutingProvider;
if (rp == null)
{
rp = GMapProviders.OpenStreetMap; // use OpenStreetMap if provider does not implement routing
}
MapRoute route = rp.GetRoute(start, end, false, false, 15);
if (route != null)
{
GMapRoute mRoute = new GMapRoute(route.Points);
{
mRoute.ZIndex = -1;
}
gmap1.Markers.Add(mRoute);
gmap1.ZoomAndCenterMarkers(null);
}
else
{
System.Diagnostics.Debug.WriteLine("There is no route");
}
我为您创建了一个示例,请查看here