#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)); |                 facade.GetOSMNodeIDOfNode(geometry(phantom_node.fwd_segment_position + 1)); | ||||||
|             from_node = static_cast<std::uint64_t>(osm_node_id); |             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
 |             // In the case of one way, rely on forward segment only
 | ||||||
|             auto osm_node_id = |             if (phantom_node.fwd_segment_position > 0) | ||||||
|                 facade.GetOSMNodeIDOfNode(forward_geometry(phantom_node.fwd_segment_position - 1)); |             { | ||||||
|  |                 auto osm_node_id = facade.GetOSMNodeIDOfNode( | ||||||
|  |                     forward_geometry(phantom_node.fwd_segment_position - 1)); | ||||||
|             from_node = static_cast<std::uint64_t>(osm_node_id); |             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); |         return std::make_pair(from_node, to_node); | ||||||
|     } |     } | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user