| 2944 | } |
| 2945 | |
| 2946 | bool Framework::CreateMapObject(m2::PointD const & mercator, uint32_t const featureType, |
| 2947 | osm::EditableMapObject & emo) const |
| 2948 | { |
| 2949 | emo = {}; |
| 2950 | auto const & dataSource = m_featuresFetcher.GetDataSource(); |
| 2951 | MwmSet::MwmId const mwmId = |
| 2952 | dataSource.GetMwmIdByCountryFile(platform::CountryFile(m_infoGetter->GetRegionCountryId(mercator))); |
| 2953 | if (!mwmId.IsAlive()) |
| 2954 | return false; |
| 2955 | |
| 2956 | search::ReverseGeocoder const coder(m_featuresFetcher.GetDataSource()); |
| 2957 | auto const streets = coder.GetNearbyStreets(mwmId, mercator); |
| 2958 | emo.SetNearbyStreets(TakeSomeStreetsAndLocalize(streets, m_featuresFetcher.GetDataSource())); |
| 2959 | |
| 2960 | // TODO(mgsergio): Check emo is a poi. For now it is the only option. |
| 2961 | SetHostingBuildingAddress(FindBuildingAtPoint(mercator), dataSource, coder, emo); |
| 2962 | |
| 2963 | return osm::Editor::Instance().CreatePoint(featureType, mercator, mwmId, emo); |
| 2964 | } |
| 2965 | |
| 2966 | bool Framework::GetEditableMapObject(FeatureID const & fid, osm::EditableMapObject & emo) const |
| 2967 | { |
no test coverage detected