1 #ifndef OSMSCOUT_CLIENT_QT_LOOKUPMODULE_H 2 #define OSMSCOUT_CLIENT_QT_LOOKUPMODULE_H 94 QRectF filterRectangle;
95 std::map<QString,std::map<osmscout::FileOffset,AdminRegionInfoRef>> adminRegionCache;
100 const QList<LookupModule::ObjectInfo> &objects);
103 const QList<LookupModule::ObjectInfo> &objects);
105 void locationDescription(
const osmscout::GeoCoord location,
106 const QString database,
107 const osmscout::LocationDescription description,
108 const QStringList regions);
109 void locationDescriptionFinished(
const osmscout::GeoCoord location);
111 void locationAdminRegions(
const osmscout::GeoCoord location,
112 QList<AdminRegionInfoRef> adminRegionList);
113 void locationAdminRegionFinished(
const osmscout::GeoCoord location);
116 void requestObjectsOnView(
const MapViewStruct&,
const QRectF &filterRectangle);
117 void requestObjects(
const LocationEntry&,
bool reverseLookupAddresses);
118 void onDatabaseLoaded(QString dbPath,QList<osmscout::TileRef> tiles);
119 void onLoadJobFinished(QMap<QString,QMap<osmscout::TileKey,osmscout::TileRef>> tiles);
131 void requestLocationDescription(
const osmscout::GeoCoord location);
143 void requestRegionLookup(
const osmscout::GeoCoord location);
151 void addObjectInfo(QList<ObjectInfo> &objectList,
153 const ObjectFileRef &ref,
154 const std::vector<osmscout::Point> &points,
155 const osmscout::GeoCoord ¢er,
157 const osmscout::FeatureValueBuffer &features,
158 const std::map<ObjectFileRef,LocationDescriptionService::ReverseLookupResult> &reverseLookupMap,
160 std::map<osmscout::FileOffset,osmscout::AdminRegionRef> ®ionMap)
166 info.
objectType=QString::fromStdString(objectType->GetName());
167 info.
id=ref.GetFileOffset();
171 info.
name=QString::fromStdString(name->
GetLabel(Locale(), 0));
178 if (website!=
nullptr){
182 if (address!=
nullptr){
185 const auto &it=reverseLookupMap.find(ref);
186 if (it!=reverseLookupMap.end()){
187 info.
adminRegionList=BuildAdminRegionList(locationService, it->second.adminRegion, regionMap);
188 info.
reverseLookupRef=std::make_shared<LocationDescriptionService::ReverseLookupResult>(it->second);
196 template<
class T>
void addObjectInfo(QList<ObjectInfo> &objectList,
198 const ObjectFileRef &ref,
199 const std::vector<osmscout::Point> &points,
200 const osmscout::GeoCoord ¢er,
202 const std::map<ObjectFileRef,LocationDescriptionService::ReverseLookupResult> &reverseLookupMap,
204 std::map<osmscout::FileOffset,osmscout::AdminRegionRef> ®ionMap)
206 addObjectInfo(objectList,type,ref,points,center,o->GetType(),o->GetFeatureValueBuffer(),reverseLookupMap,locationService,regionMap);
209 void addObjectInfo(QList<ObjectInfo> &objectList,
211 const std::map<ObjectFileRef,LocationDescriptionService::ReverseLookupResult> &reverseLookupMap,
213 std::map<osmscout::FileOffset,osmscout::AdminRegionRef> ®ionMap);
215 void addObjectInfo(QList<ObjectInfo> &objectList,
217 const std::map<ObjectFileRef,LocationDescriptionService::ReverseLookupResult> &reverseLookupMap,
219 std::map<osmscout::FileOffset,osmscout::AdminRegionRef> ®ionMap);
221 void addObjectInfo(QList<ObjectInfo> &objectList,
223 const std::map<ObjectFileRef,LocationDescriptionService::ReverseLookupResult> &reverseLookupMap,
225 std::map<osmscout::FileOffset,osmscout::AdminRegionRef> ®ionMap);
230 std::map<osmscout::FileOffset,AdminRegionInfoRef> ®ionInfoMap);
234 std::map<osmscout::FileOffset,osmscout::AdminRegionRef> ®ionMap);
237 std::map<osmscout::FileOffset,osmscout::AdminRegionRef> regionMap);
239 void filterObjectInView(
const osmscout::MapData &data,
240 QList<ObjectInfo> &objectList);
osmscout::AdminRegionRef adminRegion
Definition: LookupModule.h:36
QString name
Definition: LookupModule.h:37
#define OSMSCOUT_CLIENT_QT_API
Definition: ClientQtImportExport.h:45
Definition: TypeFeatures.h:1468
std::shared_ptr< Node > NodeRef
Definition: Node.h:124
std::string GetPhone() const
Definition: TypeFeatures.h:1558
Definition: TypeFeatures.h:1539
QString website
Definition: LookupModule.h:79
Definition: SearchModule.h:41
QString database
Definition: LookupModule.h:35
LocationDescriptionService::ReverseLookupRef reverseLookupRef
Definition: LookupModule.h:81
std::shared_ptr< Way > WayRef
Definition: Way.h:202
std::shared_ptr< LookupModule > LookupModuleRef
Definition: LookupModule.h:246
QString type
Definition: LookupModule.h:75
int adminLevel
Definition: LookupModule.h:40
std::string GetAddress() const
Definition: TypeFeatures.h:402
Definition: DBThread.h:51
osmscout::GeoCoord center
Definition: LookupModule.h:84
std::shared_ptr< DBThread > DBThreadRef
Definition: DBThread.h:239
std::shared_ptr< Area > AreaRef
Definition: Area.h:358
QString addressNumber
Definition: LookupModule.h:80
uint64_t id
Definition: LookupModule.h:83
QStringList adminRegionList
Definition: LookupModule.h:82
std::shared_ptr< ReverseLookupResult > ReverseLookupRef
Definition: LocationDescriptionService.h:369
std::vector< osmscout::Point > points
Definition: LookupModule.h:85
QString objectType
Definition: LookupModule.h:76
Definition: LocationEntry.h:42
QString name
Definition: LookupModule.h:77
Definition: TypeFeatures.h:382
std::shared_ptr< AdminRegionInfo > AdminRegionInfoRef
Definition: LookupModule.h:43
QString type
Definition: LookupModule.h:39
Definition: TypeFeatures.h:34
std::string GetWebsite() const
Definition: TypeFeatures.h:1487
Definition: LookupModule.h:73
std::shared_ptr< TypeInfo > TypeInfoRef
Definition: TypeConfig.h:58
Definition: DBThread.h:74
QString phone
Definition: LookupModule.h:78
std::shared_ptr< LocationService > LocationServiceRef
Definition: LocationService.h:317
Definition: LookupModule.h:48
std::shared_ptr< DBInstance > DBInstanceRef
Definition: DBInstance.h:217
Definition: LookupModule.h:33
std::shared_ptr< AdminRegion > AdminRegionRef
Definition: Location.h:83
QString altName
Definition: LookupModule.h:38
std::string GetLabel(const Locale &, size_t) const override
Definition: TypeFeatures.h:59
AdminRegionLevel
Definition: LookupModule.h:61