This repository has been archived by the owner on Aug 8, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[ios, macos] More MGLGeoJSONSource options
MGLGeoJSONSource can now be initialized with GeoJSON data. Replaced the data property with a geoJSONData property and added features and URL properties alongside it. Each property may be set or unset based on how the object was initialized. Fixes #5965, fixes #5966.
- Loading branch information
Showing
2 changed files
with
70 additions
and
18 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters