const int NO_ERROR = 0;
/// @todo REGISTER API KEY, THE FOLLOWING IS FROM CLOUDMADE EXAMPLE URL'S
const QString CLOUDMADE_API_KEY = "BC9A493B41014CAABB98F0471D759707";
+/// @todo implement tokens & authentication
RoutingService::RoutingService(QObject *parent)
: QObject(parent)
m_networkManager = NetworkAccessManager::instance();
connect(m_networkManager, SIGNAL(finished(QNetworkReply*)),
this, SLOT(requestFinished(QNetworkReply*)), Qt::QueuedConnection);
-
-// QByteArray tmp; // remove
-// parseRouteData(tmp); // remove
}
RoutingService::~RoutingService()
void RoutingService::parseRouteData(const QByteArray &jsonReply)
{
- qWarning() << __PRETTY_FUNCTION__;
+ qDebug() << __PRETTY_FUNCTION__;
qWarning() << __PRETTY_FUNCTION__ << jsonReply;
QJson::Parser parser;
bool ok;
-// // remove when you need real data ->
- QVariantMap result;
-// QByteArray jsonDummy;
-// QFile temp("route_from_Lehtokertunkuja_to_Jukolankuja.js");
-// if(temp.open(QIODevice::ReadOnly)) {
-// qDebug() << "File found";
-// jsonDummy = temp.readAll();
-// temp.close();
-// result = parser.parse (jsonDummy, &ok).toMap();
-// } else
- result = parser.parse (jsonReply, &ok).toMap();
- // <- remove when you need real data
-
- //QVariantMap result = parser.parse (jsonReply, &ok).toMap();
+ QVariantMap result = parser.parse (jsonReply, &ok).toMap();
if (!ok) {
emit error(ErrorContext::SITUARE, SituareError::INVALID_JSON);
return;
route.setTotalDistance(routeSummaryMap["total_distance"].toInt());
route.setTotalTime(routeSummaryMap["total_time"].toInt());
-// QList<QPointF> geometryList;
foreach(QVariant routeGeometry, result["route_geometry"].toList()) {
QStringList list = routeGeometry.toStringList();
route.appendGeometryPoint(QPointF(list.at(0).toDouble(), list.at(1).toDouble()));
-// geometryList.append(QPointF(list.at(0).toDouble(), list.at(1).toDouble()));
}
-// qDebug() << geometryList;
-
-
foreach(QVariant routeInstructions, result["route_instructions"].toList()) {
QStringList list = routeInstructions.toStringList();
-// qDebug() << list.join(",");
RouteSegment segment;
segment.setInstruction(list.at(0));
segment.setLength(list.at(1).toDouble());
}
emit routeParsed(route);
- /// @todo route is destructed here, and causes destruction of RouteSegment items
}
}
}