/
githubmirror
/
omim
Обзор
Документация
Войти
/
githubmirror
/
omim
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
android-943
map/promo_delegate.cpp
41 строка
1008 B
Maxim Pimenov
[indexer] Interface improvements for the FeatureId <-> OsmId map.
19 июл 2019, 11:45
19 июл 2019, 11:45
4880846
Код
Авторство
О чём код?
#include "map/promo_delegate.hpp" #include "search/city_finder.hpp" #include "indexer/data_source.hpp" #include "indexer/ftypes_sponsored.hpp" #include "base/string_utils.hpp" PromoDelegate::PromoDelegate(DataSource const & dataSource, search::CityFinder & cityFinder) : m_dataSource(dataSource), m_cityFinder(cityFinder) { } std::string PromoDelegate::GetCityId(m2::PointD const & point) { auto const featureId = m_cityFinder.GetCityFeatureID(point); if (!featureId.IsValid()) return {}; FeaturesLoaderGuard guard(m_dataSource, featureId.m_mwmId); auto feature = guard.GetOriginalFeatureByIndex(featureId.m_index); if (!feature) return {}; if (!ftypes::IsPromoCatalogChecker::Instance()(*feature)) return {}; if (!m_cities) { m_cities = std::make_unique<indexer::FeatureIdToGeoObjectIdOneWay>(m_dataSource); m_cities->Load(); } base::GeoObjectId id; if (m_cities->GetGeoObjectId(feature->GetID(), id)) return strings::to_string(id); return {}; }