我正在尝试使用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;
}
起点和终点位于伦敦。 我正在使用修改过的演示项目。
谢谢。
答案 0 :(得分:2)
由于历史原因,Android SKCoordinate构造函数需要一个(经度,纬度)对 - 而不是更常见的(纬度,长度)对。
所以用以下代码替换你的代码:
route.setStartCoordinate(new SKCoordinate(-0.183426,51.510537));
route.setDestinationCoordinate(new SKCoordinate( -0.151020,51.510943));
将解决问题。