summaryrefslogtreecommitdiff
path: root/src/plugins/geoservices/mapbox/qgeoserviceproviderpluginmapbox.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/geoservices/mapbox/qgeoserviceproviderpluginmapbox.cpp')
-rw-r--r--src/plugins/geoservices/mapbox/qgeoserviceproviderpluginmapbox.cpp25
1 files changed, 15 insertions, 10 deletions
diff --git a/src/plugins/geoservices/mapbox/qgeoserviceproviderpluginmapbox.cpp b/src/plugins/geoservices/mapbox/qgeoserviceproviderpluginmapbox.cpp
index ff98c501..80d9098e 100644
--- a/src/plugins/geoservices/mapbox/qgeoserviceproviderpluginmapbox.cpp
+++ b/src/plugins/geoservices/mapbox/qgeoserviceproviderpluginmapbox.cpp
@@ -35,6 +35,7 @@
****************************************************************************/
#include "qgeoserviceproviderpluginmapbox.h"
+#include "qgeocodingmanagerenginemapbox.h"
#include "qgeotiledmappingmanagerenginemapbox.h"
#include "qgeoroutingmanagerenginemapbox.h"
#include "qplacemanagerenginemapbox.h"
@@ -43,22 +44,26 @@
QT_BEGIN_NAMESPACE
-QGeoCodingManagerEngine *QGeoServiceProviderFactoryMapbox::createGeocodingManagerEngine(
- const QVariantMap &parameters, QGeoServiceProvider::Error *error, QString *errorString) const
-{
- Q_UNUSED(parameters)
- Q_UNUSED(error)
- Q_UNUSED(errorString)
-
- return 0;
-}
-
static inline QString msgAccessTokenParameter()
{
return QGeoServiceProviderFactoryMapbox::tr("Mapbox plugin requires a 'mapbox.access_token' parameter.\n"
"Please visit https://www.mapbox.com");
}
+QGeoCodingManagerEngine *QGeoServiceProviderFactoryMapbox::createGeocodingManagerEngine(
+ const QVariantMap &parameters, QGeoServiceProvider::Error *error, QString *errorString) const
+{
+ const QString accessToken = parameters.value(QStringLiteral("mapbox.access_token")).toString();
+
+ if (!accessToken.isEmpty()) {
+ return new QGeoCodingManagerEngineMapbox(parameters, error, errorString);
+ } else {
+ *error = QGeoServiceProvider::MissingRequiredParameterError;
+ *errorString = msgAccessTokenParameter();
+ return 0;
+ }
+}
+
QGeoMappingManagerEngine *QGeoServiceProviderFactoryMapbox::createMappingManagerEngine(
const QVariantMap &parameters, QGeoServiceProvider::Error *error, QString *errorString) const
{