android - RoadElement.getPermanentDirectedLinkId() 始终返回 0
问题描述
出于某种原因,无论我在哪里,这段代码总是返回 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。我在这里迷路了。
解决方案
使用公共交通方式 RouteOptions.TransportMode#PUBLIC_TRANSPORT 时,getPermanentDirectedLinkId 和 getPermanentLinkId 属性不可用。对于所有其他运输方式,它仅在使用在线连接方式计算的路线中可用。您应该将 Connectivity 显式设置为 ONLINE(setConnectivity(Connectivity.ONLINE))。
另外,请检查您是否处于以下两种模式之一:
- 跟踪 - NavigationManager.startTracking()
- 导航 - NavigationManager.startNavigation()
这是将您的位置映射到路线所必需的。
您还必须明确下载和使用离线地图才能获取此信息。
根据以下客户评论进行编辑以添加更多信息:您可以通过查看以下页面来检查您的 SDK 支持的类和方法
- 入门 SDK:{SDK-Download-location}/HERE_Android_SDK_Starter_v3.8_65/HERE-sdk/libs/docs/mapsdoc/index.html
- 高级 SDK:{SDK-Download-location}/HERE_Android_SDK_Premium_v3.8.0.104/sdk/HERE-sdk/libs/docs/mapsdoc-hybridplus/index.html
推荐阅读
- r - 如何组合具有相同行名但唯一值的小标题行?
- java - 无法通过 mqipt 使用来自 java mq 客户端的 1 个通道将消息并行发送到不同的队列
- c# - C# Nullable:如何从 Dictionary 构建 FormUrlEncodedContent
- bash - 如何将我从 curl -w $ {http_code} 获得的值分配给变量
- java - jackson xmlmapper 动态属性名称
- node.js - 如何在 AWS Elastic Beanstalk 中指定 Procfile 的路径?
- javascript - Html Javascript 动画
- database - foreach() 参数必须是数组|对象类型,给定 null
- python - Python:从数据框创建邻接矩阵
- vue.js - 在Vue中挂载生命周期钩子期间触发部分方法