diff options
author | Paolo Angelelli <paolo.angelelli@qt.io> | 2018-09-11 17:14:38 +0200 |
---|---|---|
committer | Paolo Angelelli <paolo.angelelli@qt.io> | 2018-09-24 12:23:57 +0000 |
commit | eaffef633e98e2ea94acf5fd0e1a10676591bfa8 (patch) | |
tree | 178b45bb71ef9efa927173df666d131266e68357 /src/plugins/geoservices/nokia/qgeoroutingmanagerengine_nokia.cpp | |
parent | 943d19073065e7323f36129393ae2408540fb7b4 (diff) |
Fix HERE route parsingv5.12.0-beta1
We were previously not requesting all relevant attributes, and deriving
some required info by ourself, in the wrong way.
So just request what's needed and use it.
Task-number: QTBUG-70499
Change-Id: I6e0d4b28da1412a4c13460d25e16e383f0aca9a0
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Diffstat (limited to 'src/plugins/geoservices/nokia/qgeoroutingmanagerengine_nokia.cpp')
-rw-r--r-- | src/plugins/geoservices/nokia/qgeoroutingmanagerengine_nokia.cpp | 29 |
1 files changed, 10 insertions, 19 deletions
diff --git a/src/plugins/geoservices/nokia/qgeoroutingmanagerengine_nokia.cpp b/src/plugins/geoservices/nokia/qgeoroutingmanagerengine_nokia.cpp index 1ae01636..73b998b1 100644 --- a/src/plugins/geoservices/nokia/qgeoroutingmanagerengine_nokia.cpp +++ b/src/plugins/geoservices/nokia/qgeoroutingmanagerengine_nokia.cpp @@ -399,46 +399,36 @@ QString QGeoRoutingManagerEngineNokia::routeRequestString(const QGeoRouteRequest requestString += trimDouble(area.bottomRight().longitude()); } -// TODO: work out what was going on here -// - segment and instruction/maneuever functions are mixed and matched -// - tried to implement sensible equivalents below -// QStringList legAttributes; -// if (request.instructionDetail() & QGeoRouteRequest::BasicSegmentData) { -// requestString += "&linkattributes=sh,le"; //shape,length -// legAttributes.append("links"); -// } -// -// if (request.instructionDetail() & QGeoRouteRequest::BasicInstructions) { -// legAttributes.append("maneuvers"); -// requestString += "&maneuverattributes=po,tt,le,di"; //position,traveltime,length,direction -// if (!(request.instructionDetail() & QGeoRouteRequest::NoSegmentData)) -// requestString += ",li"; //link -// } - QStringList legAttributes; - if (request.segmentDetail() & QGeoRouteRequest::BasicSegmentData) { +// if (request.segmentDetail() & QGeoRouteRequest::BasicSegmentData) // QTBUG-70501, this code expects to find links + { requestString += "&linkattributes=sh,le"; //shape,length legAttributes.append("links"); } - if (request.maneuverDetail() & QGeoRouteRequest::BasicManeuvers) { +// if (request.maneuverDetail() & QGeoRouteRequest::BasicManeuvers) // QTBUG-70501, this code expects to find maneuvers + { legAttributes.append("maneuvers"); - requestString += "&maneuverattributes=po,tt,le,di"; //position,traveltime,length,direction + //requestString += "&maneuverattributes=po,tt,le,di"; //position,traveltime,length,direction + requestString += "&maneuverattributes=all"; if (!(request.segmentDetail() & QGeoRouteRequest::NoSegmentData)) requestString += ",li"; //link } + // Handle QTBUG-70502, when API fixes it requestString += "&routeattributes=sm,sh,bb,lg"; //summary,shape,boundingBox,legs if (legAttributes.count() > 0) { requestString += "&legattributes="; requestString += legAttributes.join(","); } + // Handle QTBUG-70503, when API fixes it requestString += "&departure="; requestString += QDateTime::currentDateTime().toUTC().toString("yyyy-MM-ddThh:mm:ssZ"); requestString += "&instructionformat=text"; + // ToDo: make this request-able requestString += "&metricSystem="; if (QLocale::MetricSystem == measurementSystem()) requestString += "metric"; @@ -447,6 +437,7 @@ QString QGeoRoutingManagerEngineNokia::routeRequestString(const QGeoRouteRequest const QLocale loc(locale()); + // ToDo: make this request-able if (QLocale::C != loc.language() && QLocale::AnyLanguage != loc.language()) { requestString += "&language="; requestString += loc.name(); |