This commit is contained in:
Muteeb Ali
2025-02-09 21:06:58 +08:00
committed by GitHub
2 changed files with 14 additions and 3 deletions
+13 -3
View File
@@ -149,13 +149,23 @@ class NearestAPI final : public BaseAPI
facade.GetOSMNodeIDOfNode(geometry(phantom_node.fwd_segment_position + 1));
from_node = static_cast<std::uint64_t>(osm_node_id);
}
else if (phantom_node.forward_segment_id.enabled && phantom_node.fwd_segment_position > 0)
else if (phantom_node.forward_segment_id.enabled)
{
// In the case of one way, rely on forward segment only
auto osm_node_id =
facade.GetOSMNodeIDOfNode(forward_geometry(phantom_node.fwd_segment_position - 1));
if (phantom_node.fwd_segment_position > 0)
{
auto osm_node_id = facade.GetOSMNodeIDOfNode(
forward_geometry(phantom_node.fwd_segment_position - 1));
from_node = static_cast<std::uint64_t>(osm_node_id);
}
else if (phantom_node.fwd_segment_position == 0)
{
auto osm_node_id = facade.GetOSMNodeIDOfNode(
forward_geometry(phantom_node.fwd_segment_position + 1));
from_node = to_node;
to_node = static_cast<std::uint64_t>(osm_node_id);
}
}
return std::make_pair(from_node, to_node);
}