#ifndef GEOJSONPARSER_H #define GEOJSONPARSER_H #include #include "parser.h" class QJsonObject; class QJsonArray; class GeoJSONParser : public Parser { public: bool parse(QFile *file, QList &tracks, QList &routes, QVector &waypoints); QString errorString() const {return _errorString;} int errorLine() const {return 0;} private: bool point(const QJsonArray &coordinates, Waypoint &waypoint, const QJsonObject &properties = QJsonObject()); bool multiPoint(const QJsonArray &coordinates, QVector &waypoints, const QJsonObject &properties = QJsonObject()); bool lineString(const QJsonArray &coordinates, TrackData &track, const QJsonObject &properties = QJsonObject()); bool multiLineString(const QJsonArray &coordinates, QList &tracks, const QJsonObject &properties = QJsonObject()); bool geometryCollection(const QJsonObject &json, QList &tracks, QVector &waypoints, const QJsonObject &properties = QJsonObject()); bool feature(const QJsonObject &json, QList &tracks, QVector &waypoints); bool featureCollection(const QJsonObject &json, QList &tracks, QVector &waypoints); QString _errorString; }; #endif // GEOJSONPARSER_H