使用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秒。 寻求更好的实施....