diff options
Diffstat (limited to 'src/plugins/geoservices')
4 files changed, 17 insertions, 8 deletions
diff --git a/src/plugins/geoservices/mapbox/qgeoroutingmanagerenginemapbox.cpp b/src/plugins/geoservices/mapbox/qgeoroutingmanagerenginemapbox.cpp index f5776852..78ccab8c 100644 --- a/src/plugins/geoservices/mapbox/qgeoroutingmanagerenginemapbox.cpp +++ b/src/plugins/geoservices/mapbox/qgeoroutingmanagerenginemapbox.cpp @@ -77,14 +77,21 @@ QGeoRouteReply* QGeoRoutingManagerEngineMapbox::calculateRoute(const QGeoRouteRe QString url("https://api.mapbox.com/directions/v5/mapbox/"); QGeoRouteRequest::TravelModes travelModes = request.travelModes(); - if (travelModes.testFlag(QGeoRouteRequest::PedestrianTravel)) + if (travelModes.testFlag(QGeoRouteRequest::PedestrianTravel)) { url += "walking/"; - else - if (travelModes.testFlag(QGeoRouteRequest::BicycleTravel)) + } else if (travelModes.testFlag(QGeoRouteRequest::BicycleTravel)) { url += "cycling/"; - else - if (travelModes.testFlag(QGeoRouteRequest::CarTravel)) - url += "driving/"; + } else if (travelModes.testFlag(QGeoRouteRequest::CarTravel)) { + const QList<QGeoRouteRequest::FeatureType> &featureTypes = request.featureTypes(); + int trafficFeatureIdx = featureTypes.indexOf(QGeoRouteRequest::TrafficFeature); + QGeoRouteRequest::FeatureWeight trafficWeight = request.featureWeight(QGeoRouteRequest::TrafficFeature); + if (trafficFeatureIdx >= 0 && + (trafficWeight == QGeoRouteRequest::AvoidFeatureWeight || trafficWeight == QGeoRouteRequest::DisallowFeatureWeight)) { + url += "driving-traffic/"; + } else { + url += "driving/"; + } + } foreach (const QGeoCoordinate &c, request.waypoints()) { url += QString("%1,%2;").arg(c.longitude()).arg(c.latitude()); diff --git a/src/plugins/geoservices/mapboxgl/qgeomapmapboxgl.cpp b/src/plugins/geoservices/mapboxgl/qgeomapmapboxgl.cpp index 3b9026ce..c82b98f3 100644 --- a/src/plugins/geoservices/mapboxgl/qgeomapmapboxgl.cpp +++ b/src/plugins/geoservices/mapboxgl/qgeomapmapboxgl.cpp @@ -425,7 +425,7 @@ void QGeoMapMapboxGL::copyrightsChanged(const QString ©rightsHtml) if (d->m_developmentMode) { copyrightsHtmlFinal.prepend("<a href='https://www.mapbox.com/pricing'>" - + tr("Development access token, do not use in production!") + "</a> - "); + + tr("Development access token, do not use in production.") + "</a> - "); } if (d->m_activeMapType.name().startsWith("mapbox://")) { diff --git a/src/plugins/geoservices/nokia/qgeoroutingmanagerengine_nokia.cpp b/src/plugins/geoservices/nokia/qgeoroutingmanagerengine_nokia.cpp index a33d1ba8..d7e4cf8d 100644 --- a/src/plugins/geoservices/nokia/qgeoroutingmanagerengine_nokia.cpp +++ b/src/plugins/geoservices/nokia/qgeoroutingmanagerengine_nokia.cpp @@ -360,6 +360,7 @@ QString QGeoRoutingManagerEngineNokia::modesRequestString(const QGeoRouteRequest case QGeoRouteRequest::PublicTransitFeature: case QGeoRouteRequest::ParksFeature: case QGeoRouteRequest::MotorPoolLaneFeature: + case QGeoRouteRequest::TrafficFeature: case QGeoRouteRequest::NoFeature: break; } diff --git a/src/plugins/geoservices/nokia/qgeouriprovider.cpp b/src/plugins/geoservices/nokia/qgeouriprovider.cpp index 80b47f31..f36a6694 100644 --- a/src/plugins/geoservices/nokia/qgeouriprovider.cpp +++ b/src/plugins/geoservices/nokia/qgeouriprovider.cpp @@ -37,6 +37,7 @@ #include <QMap> #include <QVariant> +#include <QRandomGenerator> #include <QSet> #include <QString> @@ -60,7 +61,7 @@ QGeoUriProvider::QGeoUriProvider( QString QGeoUriProvider::getCurrentHost() const { if (m_maxSubdomains) { - QString result(m_firstSubdomain.toLatin1() + qrand() % m_maxSubdomains); + QString result(m_firstSubdomain.toLatin1() + QRandomGenerator::bounded(m_maxSubdomains)); result += '.' + m_currentHost; return result; } |