首页 > 解决方案 > C#中的谷歌地图路线

问题描述

伙计们,基于我知道坐标的两个点,我尝试了两种不同的方法在 C# 中的 Google 地图中获取路线。但是,我不能那样做。我可以绘制一条连接两个点的直线(使用多边形),但绘制路线仍然是一个问题。我还要问在这种情况下我没有使用 Google API KEY 的事实是否相关。在这里,我有我尝试使用但没有成功的方法:

 public void CreateRoute(double lat, double lng)
    {
        if (BooleanCreateRoute == true)
        {
            switch (RouteCounter)
            {
                case 0:
                    RouteCounter++;
                    inicialPoint = new PointLatLng(lat, lng);
                    break;
                case 1:
                    finalPoint = new PointLatLng(lat, lng);
                    GDirections direection;
                    var RouteDirection = GMapProviders.GoogleMap.GetDirections(out direction, inicialPoint, finalPoint, false, false, false, false, false);
                    GMapRoute route = new GMapRoute(direction.Route, "route that I'm testing");
                    GMapOverlay MyOverlay = new GMapOverlay();
                    MyOverLay.Routes.Add(route);
                    map.Overlays.Add(MyOverLay);
                    map.Zoom = map.Zoom + 1;
                    map.Zoom = map.Zoom - 1;
                    RouteCounter = 0;
                    break;
            }
        }
    }

想法是连续两次使用这个方法,首先传递initialPoint坐标(并执行case 0),然后传递finalPoint坐标(执行case 1)。重要的是要说这只是一段更大的代码,所以“BooleanCreateRoute”只是我用来控制是否可以获得路由的参数,“RouteCounter”是我使用的全局整数变量要定义我执行哪个“案例”,“initialPoint”和“finalPoint”是全局 PointLatLng 变量(我打算在这些点之间绘制一条路线)。

“GDirections”是我在 YouTube 上的一个西班牙语教程中看到的。不幸的是,当涉及到我的 RouteDirection 时,我总是收到错误“OVER_QUERY_LIMIT”。如果有人能解决这个问题,我会非常高兴。

感谢关注!

标签: c#apigoogle-maps

解决方案


推荐阅读