RoadElement.getPermanentDirectedLinkId()始终返回0

时间:2018-10-22 15:51:00

标签: android here-api

由于某种原因,无论我在哪里,这段代码总是返回0

public Long getClosestLinkID()
{
    GeoCoordinate cur = HereMapsManager.instance.getPositionAnchor(); //returns my current position
    Long closest = -1L;

    RoadElement closest_elem = RoadElement.getRoadElement(cur, "fre");
    if (closest_elem != null) {
        closest = closest_elem.getPermanentDirectedLinkId();
    }

    return closest;
}

它找到有效的RoadElement,但是调用getPermanentDirectedLinkId()(或getPermanentLinkId())始终返回0。

现在,文档显示:

Returns:
Permanent Link ID with direction of this element or 0 if not available.

所以我在法国的道路上到处都用随机坐标尝试了一点,并且一直返回0。我在这里迷路了。

1 个答案:

答案 0 :(得分:0)

使用公共传输模式RouteOptions.TransportMode#PUBLIC_TRANSPORT时,

getPermanentDirectedLinkId和getPermanentLinkId属性不可用。对于所有其他传输模式,该功能仅在使用在线连接模式计算的路线中可用。您应该将“连接性”显式设置为ONLINE(setConnectivity(Connectivity.ONLINE))。

此外,请检查您是否处于以下两种模式之一:

  1. 跟踪-NavigationManager.startTracking()
  2. 导航-NavigationManager.startNavigation()

这是必需的,以便将您的位置地图匹配到路线。

您还必须明确下载和使用离线地图才能获取此信息。

根据以下客户评论进行编辑以添加更多信息:您可以通过查找以下页面来检查SDK支持的类和方法

  • 入门SDK:{SDK-Download-location} /HERE_Android_SDK_Starter_v3.8_65/HERE-sdk/libs/docs/mapsdoc/index.html
  • Premium SDK:{SDK-下载位置} /HERE_Android_SDK_Premium_v3.8.0.104/sdk/HERE-sdk/libs/docs/mapsdoc-hybridplus/index.html