GMap.NET 路线正在返回 null
GMap.NET route is returning null
我正在用 C# 开发一个程序,我想计算路线,但它返回 null。
这是我的代码;
PointLatLng start = new PointLatLng(38.481858, 27.089006);
PointLatLng end = new PointLatLng(38.468447, 27.113793);
MapRoute route = GMap.NET.MapProviders.GoogleMapProvider
.Instance.GetRoute(start, end, false, false, 15);
GMapRoute r = new GMapRoute(route.Points , "My route");
GMapOverlay routeOverlay = new GMapOverlay("route");
routeOverlay.Routes.Add(r);
gMap.Overlays.Add(routeOverlay);
double distance;
distance = route.Distance;
r.Stroke.Width = 2;
r.Stroke.Color = Color.OrangeRed;
我不知道我哪里出错了。任何形式的帮助将不胜感激。
GDirections ss;
var xx = GMapProviders.GoogleMap.GetDirections(out ss, start, end, false, false, false, false, false);
GMapRoute r = new GMapRoute(ss.Route, "My route");
试试这个...
问题解决.. route returns null的原因是路由服务被google移除了。
PointLatLng startp = new PointLatLng(-25.974134, 32.593042);
PointLatLng endp = new PointLatLng(-25.959048, 32.592827);
MapRoute route = BingMapProvider.Instance.GetRoute(startp, endp, false, false, 15);
GMapRoute r = new GMapRoute(route.Points,"Myroutes");
GMapOverlay routesOverlay = new GMapOverlay("Myroutes");
routesOverlay.Routes.Add(r);
gmap.Overlays.Add(routesOverlay);
r.Stroke.Width = 2;
r.Stroke.Color = Color.SeaGreen;
//使用BingMapProvider
您的 Api 密钥无效
从 nuget 添加 GMap
使用此代码:
public static double GetDistanceByRoute(double startLat, double startLng, double endLat, double endLng)
{
GoogleMapProvider.Instance.ApiKey = "Your Api Key";
PointLatLng start = new PointLatLng(startLat, startLng);
PointLatLng end = new PointLatLng(endLat, endLng);
MapRoute route = GMap.NET.MapProviders.GoogleMapProvider.Instance.GetRoute(start, end, false, false, 15);
return route.Distance;
}
你的 API 密钥丢失了,我遇到了同样的问题,添加了 api 密钥并且它工作正常。
我正在用 C# 开发一个程序,我想计算路线,但它返回 null。
这是我的代码;
PointLatLng start = new PointLatLng(38.481858, 27.089006);
PointLatLng end = new PointLatLng(38.468447, 27.113793);
MapRoute route = GMap.NET.MapProviders.GoogleMapProvider
.Instance.GetRoute(start, end, false, false, 15);
GMapRoute r = new GMapRoute(route.Points , "My route");
GMapOverlay routeOverlay = new GMapOverlay("route");
routeOverlay.Routes.Add(r);
gMap.Overlays.Add(routeOverlay);
double distance;
distance = route.Distance;
r.Stroke.Width = 2;
r.Stroke.Color = Color.OrangeRed;
我不知道我哪里出错了。任何形式的帮助将不胜感激。
GDirections ss;
var xx = GMapProviders.GoogleMap.GetDirections(out ss, start, end, false, false, false, false, false);
GMapRoute r = new GMapRoute(ss.Route, "My route");
试试这个...
问题解决.. route returns null的原因是路由服务被google移除了。
PointLatLng startp = new PointLatLng(-25.974134, 32.593042);
PointLatLng endp = new PointLatLng(-25.959048, 32.592827);
MapRoute route = BingMapProvider.Instance.GetRoute(startp, endp, false, false, 15);
GMapRoute r = new GMapRoute(route.Points,"Myroutes");
GMapOverlay routesOverlay = new GMapOverlay("Myroutes");
routesOverlay.Routes.Add(r);
gmap.Overlays.Add(routesOverlay);
r.Stroke.Width = 2;
r.Stroke.Color = Color.SeaGreen;
//使用BingMapProvider
您的 Api 密钥无效 从 nuget 添加 GMap 使用此代码:
public static double GetDistanceByRoute(double startLat, double startLng, double endLat, double endLng)
{
GoogleMapProvider.Instance.ApiKey = "Your Api Key";
PointLatLng start = new PointLatLng(startLat, startLng);
PointLatLng end = new PointLatLng(endLat, endLng);
MapRoute route = GMap.NET.MapProviders.GoogleMapProvider.Instance.GetRoute(start, end, false, false, 15);
return route.Distance;
}
你的 API 密钥丢失了,我遇到了同样的问题,添加了 api 密钥并且它工作正常。