summaryrefslogtreecommitdiff
path: root/include/mbgl/annotation/shape_annotation.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'include/mbgl/annotation/shape_annotation.hpp')
-rw-r--r--include/mbgl/annotation/shape_annotation.hpp17
1 files changed, 15 insertions, 2 deletions
diff --git a/include/mbgl/annotation/shape_annotation.hpp b/include/mbgl/annotation/shape_annotation.hpp
index fffa7dab6e..121cb7f1d7 100644
--- a/include/mbgl/annotation/shape_annotation.hpp
+++ b/include/mbgl/annotation/shape_annotation.hpp
@@ -33,11 +33,24 @@ public:
std::string>; // creates an annotation whose type and properties are sourced from a style layer
ShapeAnnotation(const AnnotationSegments& segments_, const Properties& properties_)
- : segments(segments_), properties(properties_) {
- }
+ : segments(wrapCoordinates(segments_)), properties(properties_) {}
const AnnotationSegments segments;
const Properties properties;
+
+private:
+ AnnotationSegments wrapCoordinates(const AnnotationSegments& segments_) {
+ AnnotationSegments wrappedSegments;
+ // Wrap all segments coordinates.
+ for (const auto& segment_ : segments_) {
+ AnnotationSegment wrappedSegment;
+ for (const auto& latLng_ : segment_) {
+ wrappedSegment.push_back(latLng_.wrapped());
+ }
+ wrappedSegments.push_back(wrappedSegment);
+ }
+ return wrappedSegments;
+ }
};
} // namespace mbgl