Scout SDK Android:计算2 SkCoordinate之间的距离(km)

时间:2015-05-17 15:54:36

标签: android skmaps

使用Scout SDK 2.4.0。 我想提供离线搜索的结果,其中包含有关从当前位置到结果地址位置的距离的信息。

我看到这种计算是由SKRouteManager.getInstance().calculateRoute(route);执行的。

问题 - Scout SDK是否有任何最简单的方法来进行此类计算?似乎我不能在循环中使用SKRouteManager进行计算,因为它是单例。

编辑:

for (SearchResultStackEntry searchResultStackEntry : resultStack) {
            SKCoordinate skCoordinate = searchResultStackEntry.getRefinedLocation();
            SKRouteSettings route = new SKRouteSettings();
            route.setNoOfRoutes(1);
            route.setRouteMode(SKRouteSettings.SKRouteMode.CAR_FASTEST);
            route.setDestinationCoordinate(new SKCoordinate(skCoordinate.getLongitude(), skCoordinate.getLatitude()));
            route.setStartCoordinate(new SKCoordinate(LocationManager.getInstance().getCurrentPosition().getCoordinate().getLongitude(), LocationManager.getInstance().getCurrentPosition().getCoordinate().getLatitude()));
            SKRouteManager.getInstance().calculateRoute(route);
}

如果我像这样使用它SKRouteManager.getInstance().getNumberOfRoutes()总是返回0.我确定传递的坐标值。

经过一些测试我意识到,我们应该等待听众回调。在此回调之前,skRouteInfo对象无效。

找到100行的路线花了我16秒。 寻求更好的实施....

0 个答案:

没有答案