diff options
author | Daria Volvenkova <d.volvenkova@corp.mail.ru> | 2017-07-25 18:39:03 +0300 |
---|---|---|
committer | Roman Kuznetsov <r.kuznetsow@gmail.com> | 2017-07-27 20:51:41 +0300 |
commit | 8c2a1cb00f385094474117aa564fdbfeba84880f (patch) | |
tree | f225da88c83f6475f55ccdbff21f3646573afbe6 | |
parent | 546fb236ff32465154b7736b353637bbd05610f8 (diff) |
Spline segment length corrected in user line indexing.beta-934
-rw-r--r-- | drape_frontend/user_mark_generator.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drape_frontend/user_mark_generator.cpp b/drape_frontend/user_mark_generator.cpp index da04edc0fc..d36ba8de1a 100644 --- a/drape_frontend/user_mark_generator.cpp +++ b/drape_frontend/user_mark_generator.cpp @@ -1,9 +1,9 @@ #include "drape_frontend/user_mark_generator.hpp" #include "drape_frontend/tile_utils.hpp" -#include "drape_frontend/visual_params.hpp" #include "drape/batcher.hpp" +#include "geometry/mercator.hpp" #include "geometry/rect_intersect.hpp" #include "indexer/scales.hpp" @@ -106,8 +106,9 @@ void UserMarkGenerator::UpdateIndex(GroupID groupId) double length = 0; while (length < splineFullLength) { - m2::RectD const tileRect = GetRectForDrawScale(zoomLevel, params.m_spline->GetPoint(length).m_pos); - double const maxLength = std::min(tileRect.SizeX(), tileRect.SizeY()); + // Process spline by segments that no longer than tile size. + double const range = MercatorBounds::maxX - MercatorBounds::minX; + double const maxLength = range / (1 << (zoomLevel - 1)); m2::RectD splineRect; |