diff options
author | Bruno de Oliveira Abinader <bruno@mapbox.com> | 2016-06-22 17:44:00 +0300 |
---|---|---|
committer | Bruno de Oliveira Abinader <bruno@mapbox.com> | 2016-06-22 18:07:19 +0300 |
commit | 7d63847beccc5335d7c6eeb4287e6b3a2bba6a83 (patch) | |
tree | c52bc1fdbcbd383982cc04c1ca3a509f4b68b4f0 /platform/qt | |
parent | d58ed6f9f33ddf13f9141c052116bec0833561a9 (diff) | |
download | qtlocation-mapboxgl-7d63847beccc5335d7c6eeb4287e6b3a2bba6a83.tar.gz |
[Qt] Use mbgl::LineString instead of mbgl::Polygon as default shape
Diffstat (limited to 'platform/qt')
-rw-r--r-- | platform/qt/include/qmapbox.hpp | 5 | ||||
-rw-r--r-- | platform/qt/src/qmapboxgl.cpp | 19 |
2 files changed, 8 insertions, 16 deletions
diff --git a/platform/qt/include/qmapbox.hpp b/platform/qt/include/qmapbox.hpp index 1f4f22f5f1..60ef0a306f 100644 --- a/platform/qt/include/qmapbox.hpp +++ b/platform/qt/include/qmapbox.hpp @@ -11,8 +11,7 @@ namespace QMapbox { typedef QPair<double, double> Coordinate; -typedef QList<Coordinate> Coordinates; -typedef QList<Coordinates> CoordinateSegments; +typedef QList<Coordinate> LineString; typedef QPair<Coordinate, double> CoordinateZoom; @@ -22,7 +21,7 @@ typedef QList<AnnotationID> AnnotationIDs; typedef QPair<Coordinate, QString> PointAnnotation; // FIXME: We need to add support for custom style properties -typedef QPair<CoordinateSegments, QString> ShapeAnnotation; +typedef QPair<LineString, QString> ShapeAnnotation; enum NetworkMode { Online, // Default diff --git a/platform/qt/src/qmapboxgl.cpp b/platform/qt/src/qmapboxgl.cpp index 76b643f40a..efa53a3c6b 100644 --- a/platform/qt/src/qmapboxgl.cpp +++ b/platform/qt/src/qmapboxgl.cpp @@ -77,24 +77,17 @@ QThreadStorage<std::shared_ptr<mbgl::util::RunLoop>> loop; // Convertion helper functions. auto fromQMapboxGLShapeAnnotation(const ShapeAnnotation &shapeAnnotation) { - const CoordinateSegments &segments = shapeAnnotation.first; + const LineString &lineString = shapeAnnotation.first; const QString &styleLayer = shapeAnnotation.second; - mbgl::Polygon<double> polygon; - polygon.reserve(segments.size()); + mbgl::LineString<double> mbglLineString; + mbglLineString.reserve(lineString.size()); - for (const Coordinates &coordinates : segments) { - mbgl::LinearRing<double> linearRing; - linearRing.reserve(coordinates.size()); - - for (const Coordinate &coordinate : coordinates) { - linearRing.emplace_back(mbgl::Point<double> { coordinate.first, coordinate.second }); - } - - polygon.push_back(std::move(linearRing)); + for (const Coordinate &coordinate : lineString) { + mbglLineString.emplace_back(mbgl::Point<double> { coordinate.first, coordinate.second }); } - return mbgl::StyleSourcedAnnotation { std::move(polygon), styleLayer.toStdString() }; + return mbgl::StyleSourcedAnnotation { std::move(mbglLineString), styleLayer.toStdString() }; } auto fromQMapboxTransitionOptions(const QMapbox::TransitionOptions &options) { |