/
githubmirror
/
omim
Обзор
Документация
Войти
/
githubmirror
/
omim
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
kml/types.cpp
30 строк
925 B
Anatoliy Tomilov
[bookmarks] Review fixes. MAPSME-14916
17 окт 2020, 02:12
17 окт 2020, 02:12
14b92cf
Код
Авторство
О чём код?
#include "kml/types.hpp" #include "kml/minzoom_quadtree.hpp" #include "base/string_utils.hpp" #include <utility> namespace kml { void SetBookmarksMinZoom(FileData & fileData, double countPerTile, int maxZoom) { using ValueType = std::pair<BookmarkData *, int /* score */>; auto const scoreLess = base::LessBy(&ValueType::second); MinZoomQuadtree<ValueType, decltype(scoreLess)> minZoomQuadtree{scoreLess}; for (auto & bm : fileData.m_bookmarksData) { auto const & properties = bm.m_properties; int score = 0; if (auto const s = properties.find("score"); s != properties.end()) UNUSED_VALUE(strings::to_int(s->second, score)); minZoomQuadtree.Add(bm.m_point, ValueType{&bm, score}); } auto const setMinZoom = [](ValueType & valueType, int minZoom) { valueType.first->m_minZoom = minZoom; }; minZoomQuadtree.SetMinZoom(countPerTile, maxZoom, setMinZoom); } } // namespace kml