我无法将路由添加到 GmapControl
I can not Add route to GmapControl
我的项目是 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);
但是在所有文章中他们都说我必须将创建的路线添加到叠加层。然后将叠加层添加到我的控件中。但是没有要添加的叠加层。
如何将路由添加到我的控件中?
But there is no overlay to add
在您的代码片段中,已创建 MapRoute 实例。我们需要做以下事情:
1. 将路由包装在 GMapRoute 实例中,即 GMapRoute 构造函数
取一组点。
2. 将 GMapRoute 实例添加到覆盖层
3.给GMapControl添加overlay
参考: ADDING THE ROUTE TO THE MAP
--------2016 年 5 月 11 日更新--------
对于 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
我的项目是 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);
但是在所有文章中他们都说我必须将创建的路线添加到叠加层。然后将叠加层添加到我的控件中。但是没有要添加的叠加层。 如何将路由添加到我的控件中?
But there is no overlay to add
在您的代码片段中,已创建 MapRoute 实例。我们需要做以下事情:
1. 将路由包装在 GMapRoute 实例中,即 GMapRoute 构造函数
取一组点。
2. 将 GMapRoute 实例添加到覆盖层
3.给GMapControl添加overlay
参考: ADDING THE ROUTE TO THE MAP
--------2016 年 5 月 11 日更新--------
对于 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