有什么方法可以只显示特定路线上的路况信息吗?

时间:2019-04-26 11:15:30

标签: android here-api

我只想在特定路线上绘制路况信息。例如,我的路线是从位置A到位置B,我想只显示特定道路上的路况数据,而不是显示所有可见的道路。

此解决方案是否有HERE map API?

HERE地图提供了一种解决方案,但是它将在整个可见地图中显示交通信息:

https://developer.here.com/documentation/android-premium/dev_guide/topics/traffic.html

2 个答案:

答案 0 :(得分:0)

似乎,这里没有Android SDK API中的“开箱即用”解决方案,但是无论如何,您都可以使用变通办法并通过Routing REST API来获得流量估算。例如,对于Car route from A to B这样的请求:

https://route.api.here.com/routing/7.2/calculateroute.json?waypoint0=52.5160%2C13.3779&waypoint1=52.5206%2C13.3862&mode=fastest%3Bcar%3Btraffic%3Aenabled&app_id=devportal-demo-20180625&app_code=9v2BkviRwi9Ot26kp2IysQ&departure=now

对于每条腿,您得到了带有标签"length""travelTime"的响应:

...
"length": 953,
"travelTime": 316,
...

,您可以计算速度= length.value / travelTime.value。另外,您还可以将响应摘要"distance""trafficTime"用于整个路线:

...
"summary": {
      "distance": 953,
      "trafficTime": 316,
...

仅针对颜色的方法来解决this问题的答案中所述的部分路线:

  

您可以提取路线几何图形以获得GeoCoordinates的列表   构成折线:

geoCoordinates = mapRoute.getRoute().getRouteGeometry()
     

然后,您可以通过构建各种颜色的路线部分   这些坐标中的新折线:

GeoPolyline geoPolyline = new GeoPolyline();
for (GeoCoordinates point : geoCoordinates) {
    if (<your condition>){
        geoPolyline.add(point);
    }
}
MapPolyline mapPolyline = new MapPolyline(geoPolyline);
mapPolyline.setLineColor(<color>);
map.addMapObject(mapPolyline)

Teriblus和该评论:

  

...只需在两个   我需要的点,我可以控制我在哪个路线对象上显示   使用按钮进行地图导航,我使用相同的路线。 ...

答案 1 :(得分:0)

您可以按照以下步骤关闭所有流量显示并仅打开ICheckPalindrome个流量显示:

on route