我只想在特定路线上绘制路况信息。例如,我的路线是从位置A到位置B,我想只显示特定道路上的路况数据,而不是显示所有可见的道路。
此解决方案是否有HERE map API?
HERE地图提供了一种解决方案,但是它将在整个可见地图中显示交通信息:
https://developer.here.com/documentation/android-premium/dev_guide/topics/traffic.html
答案 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