diff options
Diffstat (limited to 'src/plugins/geoservices/mapbox/qgeoserviceproviderpluginmapbox.cpp')
-rw-r--r-- | src/plugins/geoservices/mapbox/qgeoserviceproviderpluginmapbox.cpp | 25 |
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 ¶meters, 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 ¶meters, 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 ¶meters, QGeoServiceProvider::Error *error, QString *errorString) const { |