起点始终无效(681)(Skobbler Android API)

时间:2014-11-12 23:33:37

标签: android skmaps

我正在尝试使用Skobbler Android SDK生成路线,但似乎无法通过有效的起点。

尽管尝试了许多不同的纬度经度对,它总是返回错误代码681。

    SKRouteSettings route = new SKRouteSettings();

    route.setStartCoordinate(new SKCoordinate(51.510537, -0.183426));        
    route.setDestinationCoordinate(new SKCoordinate(51.510943, -0.151020));

    route.setNoOfRoutes(1);
    route.setRouteMode(SKRouteSettings.SKROUTE_CAR_FASTEST);
    route.setRouteExposed(true);
    SKRouteManager.getInstance().setRouteListener(this);
    SKRouteManager.getInstance().calculateRoute(route);

然后完成路线计算:

if (statusMessage != SKRouteListener.ROUTE_SUCCESS) {
            runOnUiThread(new Runnable() {

                @Override
                public void run() {
                    Toast.makeText(DisplayMessageActivity.this, "Route calculation failed: " + errorNo, Toast.LENGTH_SHORT).show();
                }
            });
            return;
        }

起点和终点位于伦敦。 我正在使用修改过的演示项目。

谢谢。

1 个答案:

答案 0 :(得分:2)

由于历史原因,Android SKCoordinate构造函数需要一个(经度,纬度)对 - 而不是更常见的(纬度,长度)对。

所以用以下代码替换你的代码:

route.setStartCoordinate(new SKCoordinate(-0.183426,51.510537));
route.setDestinationCoordinate(new SKCoordinate( -0.151020,51.510943));

将解决问题。