From e60737daf343114e1881e979de7090d2fc4086f0 Mon Sep 17 00:00:00 2001 From: Sergiy Kozyr Date: Tue, 12 Sep 2023 07:27:53 +0300 Subject: [PATCH] [ruler] Snap next point to the closest bookmark, fixed ruler ordering (#5977) * [ruler] Snap next point to the closest bookmark Signed-off-by: S. Kozyr * [ruler] Fixed intermediate points numbers Signed-off-by: S. Kozyr --------- Signed-off-by: S. Kozyr --- map/framework.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/map/framework.cpp b/map/framework.cpp index b1036e25c6..cf140e818c 100644 --- a/map/framework.cpp +++ b/map/framework.cpp @@ -2057,9 +2057,14 @@ void Framework::OnTapEvent(place_page::BuildInfo const & buildInfo) data.m_title = placePageInfo ? placePageInfo->GetTitle() : std::string(); data.m_subTitle = std::string(); data.m_pointType = RouteMarkType::Finish; - data.m_intermediateIndex = m_routingManager.GetRoutePointsCount(); + data.m_intermediateIndex = m_routingManager.GetRoutePointsCount() - 1; data.m_isMyPosition = false; - data.m_position = buildInfo.m_mercator; + + if (placePageInfo && placePageInfo->IsBookmark()) + // Continue route to exact bookmark position. + data.m_position = placePageInfo->GetBookmarkData().m_point; + else + data.m_position = buildInfo.m_mercator; m_routingManager.ContinueRouteToPoint(std::move(data));