summaryrefslogtreecommitdiff
path: root/platform/darwin/src/MGLGeoJSONSource.h
diff options
context:
space:
mode:
Diffstat (limited to 'platform/darwin/src/MGLGeoJSONSource.h')
-rw-r--r--platform/darwin/src/MGLGeoJSONSource.h53
1 files changed, 52 insertions, 1 deletions
diff --git a/platform/darwin/src/MGLGeoJSONSource.h b/platform/darwin/src/MGLGeoJSONSource.h
index 58c0f6b794..ca6ccb5b19 100644
--- a/platform/darwin/src/MGLGeoJSONSource.h
+++ b/platform/darwin/src/MGLGeoJSONSource.h
@@ -1,9 +1,60 @@
#import "MGLSource.h"
+#import "MGLTypes.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+@protocol MGLFeature;
+
@interface MGLGeoJSONSource : MGLSource
-@property (nonatomic, readonly, copy) NSString *data;
+/**
+ The contents of the source.
+
+ If the receiver was initialized using `-initWithSourceIdentifier:URL:`, this
+ property is set to `nil`. This property is unavailable until the receiver is
+ passed into `-[MGLStyle addSource]`.
+ */
+@property (nonatomic, readonly, nullable) NS_ARRAY_OF(id <MGLFeature>) *features;
+
+/**
+ A GeoJSON representation of the contents of the source.
+
+ Use the `features` property instead to get an object representation of the
+ contents. Alternatively, use NSJSONSerialization with the value of this
+ property to transform it into Foundation types.
+
+ If the receiver was initialized using `-initWithSourceIdentifier:URL:`, this
+ property is set to `nil`. This property is unavailable until the receiver is
+ passed into `-[MGLStyle addSource]`.
+ */
+@property (nonatomic, readonly, nullable, copy) NSData *geoJSONData;
+/**
+ The URL to the GeoJSON document that specifies the contents of the source.
+
+ If the receiver was initialized using `-initWithSourceIdentifier:geoJSONData:`,
+ this property is set to `nil`.
+ */
+@property (nonatomic, readonly, nullable) NSURL *URL;
+
+/**
+ Initializes a source with the given identifier and GeoJSON data.
+
+ @param sourceIdentifier A string that uniquely identifies the source.
+ @param geoJSONData An NSData object representing GeoJSON source code.
+ */
+- (instancetype)initWithSourceIdentifier:(NSString *)sourceIdentifier geoJSONData:(NSData *)data NS_DESIGNATED_INITIALIZER;
+
+/**
+ Initializes a source with the given identifier and URL.
+
+ @param sourceIdentifier A string that uniquely identifies the source.
+ @param URL An HTTP(S) URL, absolute file URL, or local file URL relative to the
+ current application’s resource bundle.
+ */
- (instancetype)initWithSourceIdentifier:(NSString *)sourceIdentifier URL:(NSURL *)url NS_DESIGNATED_INITIALIZER;
@end
+
+NS_ASSUME_NONNULL_END