diff options
Diffstat (limited to 'src/plugins/geoservices/osm/qplacemanagerengineosm.cpp')
-rw-r--r-- | src/plugins/geoservices/osm/qplacemanagerengineosm.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/plugins/geoservices/osm/qplacemanagerengineosm.cpp b/src/plugins/geoservices/osm/qplacemanagerengineosm.cpp index 16632b67..7e1a2f6c 100644 --- a/src/plugins/geoservices/osm/qplacemanagerengineosm.cpp +++ b/src/plugins/geoservices/osm/qplacemanagerengineosm.cpp @@ -108,6 +108,14 @@ QPlaceManagerEngineOsm::QPlaceManagerEngineOsm(const QVariantMap ¶meters, else m_urlPrefix = QStringLiteral("http://nominatim.openstreetmap.org/search"); + + if (parameters.contains(QStringLiteral("osm.places.debug_query"))) + m_debugQuery = parameters.value(QStringLiteral("osm.places.debug_query")).toBool(); + + if (parameters.contains(QStringLiteral("osm.places.page_size")) + && parameters.value(QStringLiteral("osm.places.page_size")).canConvert<int>()) + m_pageSize = parameters.value(QStringLiteral("osm.places.page_size")).toInt(); + *error = QGeoServiceProvider::NoError; errorString->clear(); } @@ -167,6 +175,8 @@ QPlaceSearchReply *QPlaceManagerEngineOsm::search(const QPlaceSearchRequest &req queryItems.addQueryItem(QStringLiteral("exclude_place_ids"), placeIds.join(QLatin1Char(','))); queryItems.addQueryItem(QStringLiteral("addressdetails"), QStringLiteral("1")); + queryItems.addQueryItem(QStringLiteral("limit"), (request.limit() > 0) ? QString::number(request.limit()) + : QString::number(m_pageSize)); QUrl requestUrl(m_urlPrefix); requestUrl.setQuery(queryItems); @@ -178,6 +188,9 @@ QPlaceSearchReply *QPlaceManagerEngineOsm::search(const QPlaceSearchRequest &req connect(reply, SIGNAL(error(QPlaceReply::Error,QString)), this, SLOT(replyError(QPlaceReply::Error,QString))); + if (m_debugQuery) + reply->requestUrl = requestUrl.toString(); + return reply; } |