#7047: Nearest api returning node with id 0
This commit is contained in:
parent
becfd8a56d
commit
573f110492
@ -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);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user