summaryrefslogtreecommitdiff
path: root/platform/darwin/src/MGLPolygon.mm
diff options
context:
space:
mode:
authorFredrik Karlsson <bjorn.fredrik.karlsson@gmail.com>2016-11-22 15:54:38 +0100
committerFredrik Karlsson <bjorn.fredrik.karlsson@gmail.com>2016-12-06 13:59:56 +0100
commitdc2dc31c0bdd4f0b27412125032bfa694ade26b9 (patch)
treea573ec5e83342e1a4dcd9f335a8fbc2ee0db4cfd /platform/darwin/src/MGLPolygon.mm
parent9456bec1721f5cd69e7813c68b829db4c7ff9660 (diff)
downloadqtlocation-mapboxgl-dc2dc31c0bdd4f0b27412125032bfa694ade26b9.tar.gz
[ios, macos] MGLGeoJSONSource can now be initialized with any shape
Diffstat (limited to 'platform/darwin/src/MGLPolygon.mm')
-rw-r--r--platform/darwin/src/MGLPolygon.mm21
1 files changed, 10 insertions, 11 deletions
diff --git a/platform/darwin/src/MGLPolygon.mm b/platform/darwin/src/MGLPolygon.mm
index 7562db6e61..f4d999b98b 100644
--- a/platform/darwin/src/MGLPolygon.mm
+++ b/platform/darwin/src/MGLPolygon.mm
@@ -38,23 +38,22 @@
return result;
}
-- (mbgl::Feature)featureObject {
+- (mbgl::Polygon<double>)polygon {
mbgl::Polygon<double> geometry;
geometry.push_back(self.ring);
for (MGLPolygon *polygon in self.interiorPolygons) {
geometry.push_back(polygon.ring);
}
- return mbgl::Feature{geometry};
+ return geometry;
}
-- (mbgl::Annotation)annotationObjectWithDelegate:(id <MGLMultiPointDelegate>)delegate {
- mbgl::Polygon<double> geometry;
- geometry.push_back(self.ring);
- for (MGLPolygon *polygon in self.interiorPolygons) {
- geometry.push_back(polygon.ring);
- }
+- (mbgl::Geometry<double>)geometryObject {
+ return [self polygon];
+}
- mbgl::FillAnnotation annotation { geometry };
+- (mbgl::Annotation)annotationObjectWithDelegate:(id <MGLMultiPointDelegate>)delegate {
+
+ mbgl::FillAnnotation annotation { [self polygon] };
annotation.opacity = { static_cast<float>([delegate alphaForShapeAnnotation:self]) };
annotation.outlineColor = { [delegate strokeColorForShapeAnnotation:self] };
annotation.color = { [delegate fillColorForPolygonAnnotation:self] };
@@ -103,7 +102,7 @@
return MGLLatLngBoundsFromCoordinateBounds(_overlayBounds).intersects(MGLLatLngBoundsFromCoordinateBounds(overlayBounds));
}
-- (mbgl::Feature)featureObject {
+- (mbgl::Geometry<double>)geometryObject {
mbgl::MultiPolygon<double> multiPolygon;
multiPolygon.reserve(self.polygons.count);
for (MGLPolygon *polygon in self.polygons) {
@@ -114,7 +113,7 @@
}
multiPolygon.push_back(geometry);
}
- return mbgl::Feature {multiPolygon};
+ return multiPolygon;
}
- (NSDictionary *)geoJSONDictionary {