summaryrefslogtreecommitdiff
path: root/include/mbgl
diff options
context:
space:
mode:
authorKonstantin Käfer <mail@kkaefer.com>2015-06-11 13:57:33 -0400
committerKonstantin Käfer <mail@kkaefer.com>2015-06-11 17:26:37 -0400
commit2435c1ad2603432186ee61eb4c423244a088bc51 (patch)
tree2377c2af37ef8c5ed21e1cf94c916141ebd57d7d /include/mbgl
parentf46328655e027bf490692fcde4aab770912aac8d (diff)
downloadqtlocation-mapboxgl-2435c1ad2603432186ee61eb4c423244a088bc51.tar.gz
use array of structs rather than parallel arrays for annotations
Diffstat (limited to 'include/mbgl')
-rw-r--r--include/mbgl/annotation/point_annotation.hpp22
-rw-r--r--include/mbgl/map/map.hpp6
2 files changed, 25 insertions, 3 deletions
diff --git a/include/mbgl/annotation/point_annotation.hpp b/include/mbgl/annotation/point_annotation.hpp
new file mode 100644
index 0000000000..17b6fe5369
--- /dev/null
+++ b/include/mbgl/annotation/point_annotation.hpp
@@ -0,0 +1,22 @@
+#ifndef MBGL_ANNOTATION_POINT_ANNOTATION
+#define MBGL_ANNOTATION_POINT_ANNOTATION
+
+#include <mbgl/util/geo.hpp>
+
+#include <string>
+
+namespace mbgl {
+
+class PointAnnotation {
+public:
+ inline PointAnnotation(const LatLng& position_, const std::string& icon_ = "")
+ : position(position_), icon(icon_) {
+ }
+
+ const LatLng position;
+ const std::string icon;
+};
+
+}
+
+#endif
diff --git a/include/mbgl/map/map.hpp b/include/mbgl/map/map.hpp
index 5535dbcc91..4418bcaaa4 100644
--- a/include/mbgl/map/map.hpp
+++ b/include/mbgl/map/map.hpp
@@ -21,6 +21,7 @@ class View;
class MapData;
class MapContext;
class StillImage;
+class PointAnnotation;
namespace util {
template <class T> class Thread;
@@ -111,9 +112,8 @@ public:
// Annotations
void setDefaultPointAnnotationSymbol(const std::string&);
double getTopOffsetPixelsForAnnotationSymbol(const std::string&);
- uint32_t addPointAnnotation(const LatLng&, const std::string& symbol);
- std::vector<uint32_t> addPointAnnotations(const std::vector<LatLng>&,
- const std::vector<std::string>& symbols);
+ uint32_t addPointAnnotation(const PointAnnotation&);
+ std::vector<uint32_t> addPointAnnotations(const std::vector<PointAnnotation>&);
void removeAnnotation(uint32_t);
void removeAnnotations(const std::vector<uint32_t>&);
std::vector<uint32_t> getAnnotationsInBounds(const LatLngBounds&);