2

我正在尝试使用 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;
        }

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

谢谢你。

4

1 回答 1

2

由于历史原因,Android SKCoordinate 构造函数需要一个 (longitude, latitude) 对 - 而不是更常见的 (lat, long) 对。

因此,将您的代码替换为:

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

将解决问题。

于 2014-11-13T08:35:26.240 回答