【发布时间】:2020-10-24 14:15:49
【问题描述】:
我正在构建一个个人项目以熟悉 API 调用等。
我有以下功能:
public void calculateDistance(House house) {
DirectionsApiRequest apiRequest = DirectionsApi.newRequest(geoApiContext);
apiRequest.origin(new LatLng(house.getLat(), house.getLon()));
apiRequest.destination(biminghamInternationStationLonLat);
apiRequest.mode(TravelMode.TRANSIT);
apiRequest.setCallback(new com.google.maps.PendingResult.Callback<DirectionsResult>() {
@Override
public void onResult(DirectionsResult result) {
DirectionsRoute[] routes = result.routes;
System.out.println("Printing out the results for " + house.getUrlListing());
for(int i =0 ; i < routes.length; i++)
{
DirectionsRoute route = routes[i];
System.out.println(route);
}
}
@Override
public void onFailure(Throwable e) {
}
});
}
此函数的作用是获取我提供的自定义 House 对象的纬度和经度,并从本质上找到通过公共交通工具到达伯明翰国际站需要多长时间(因此 apiRequest 中的 TRANSIT 模式)。
但我不确定我是否正确使用它?当我在谷歌地图网站上查看从房子的位置到伯明翰国际站需要多长时间时;我得到的结果从 30 到 35 分钟不等,好吧。但是当我尝试调用上面的代码时,它会打印以下内容:
[DirectionsRoute: "", 1 legs, waypointOrder=[], bounds=[52.48039080,-1.72493200, 52.45082300,-1.78392750], 1 warnings]
我不确定如何从 api 获得通过公共交通工具所需的时间。我正在使用 Directions API.. 不确定我是否使用了错误的 API,但是在查看要使用的 API 时,这描述了我需要的内容..
【问题讨论】:
标签: java google-maps google-api google-api-client