diff --git a/Descriptors/JSONDescriptor.h b/Descriptors/JSONDescriptor.h index 3fa329718..a080a0638 100644 --- a/Descriptors/JSONDescriptor.h +++ b/Descriptors/JSONDescriptor.h @@ -66,16 +66,10 @@ template class JSONDescriptor : public BaseDescriptor shortest_path_segments, alternative_path_segments; - std::vector shortest_leg_end_indices, alternative_leg_end_indices; ExtractRouteNames GenerateRouteNames; - public: - JSONDescriptor(DataFacadeT *facade) : facade(facade), entered_restricted_area_count(0) - { - shortest_leg_end_indices.emplace_back(0); - alternative_leg_end_indices.emplace_back(0); - } + JSONDescriptor(DataFacadeT *facade) : facade(facade), entered_restricted_area_count(0) { } void SetConfig(const DescriptorConfig &c) { config = c; } @@ -95,12 +89,9 @@ template class JSONDescriptor : public BaseDescriptor class JSONDescriptor : public BaseDescriptorGetEscapedNameForNameID(phantom_nodes.source_phantom.name_id); + facade->GetEscapedNameForNameID(raw_route.segment_end_coordinates.front().source_phantom.name_id); BOOST_ASSERT(raw_route.unpacked_path_segments.size() == raw_route.segment_end_coordinates.size()); - description_factory.SetStartSegment(phantom_nodes.source_phantom); + description_factory.SetStartSegment(raw_route.segment_end_coordinates.front().source_phantom); json_result.values["status"] = 0; json_result.values["status_message"] = "Found route between points"; @@ -127,9 +118,8 @@ template class JSONDescriptor : public BaseDescriptor class JSONDescriptor : public BaseDescriptor const & shortest_leg_end_indices = description_factory.GetViaIndices(); json_via_indices_array.values.insert(json_via_indices_array.values.end(), shortest_leg_end_indices.begin(), shortest_leg_end_indices.end()); json_result.values["via_indices"] = json_via_indices_array; @@ -180,7 +172,7 @@ template class JSONDescriptor : public BaseDescriptor class JSONDescriptor : public BaseDescriptor const & alternate_leg_end_indices = alternate_description_factory.GetViaIndices(); JSON::Array json_altenative_indices_array; - json_altenative_indices_array.values.push_back(0); - json_altenative_indices_array.values.push_back(alternate_description_factory.path_description.size()); + json_altenative_indices_array.values.insert(json_altenative_indices_array.values.end(), alternate_leg_end_indices.begin(), alternate_leg_end_indices.end()); json_result.values["alternative_indices"] = json_altenative_indices_array; } else { json_result.values["found_alternative"] = JSON::False();