From 224fe6b96f18a4e86f7d26e1e5dff5753d9e8483 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Minh=20Nguye=CC=82=CC=83n?= Date: Mon, 12 Dec 2016 16:04:28 -0800 Subject: [ios, macos] Added URL accessor to MGLTileSource --- platform/darwin/src/MGLTileSource.h | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'platform/darwin/src/MGLTileSource.h') diff --git a/platform/darwin/src/MGLTileSource.h b/platform/darwin/src/MGLTileSource.h index caf915637e..994375bec0 100644 --- a/platform/darwin/src/MGLTileSource.h +++ b/platform/darwin/src/MGLTileSource.h @@ -162,6 +162,17 @@ typedef NS_ENUM(NSUInteger, MGLTileCoordinateSystem) { */ - (instancetype)initWithIdentifier:(NSString *)identifier tileURLTemplates:(NS_ARRAY_OF(NSString *) *)tileURLTemplates options:(nullable NS_DICTIONARY_OF(MGLTileSourceOption, id) *)options; +#pragma mark Accessing a Source’s Content + +/** + The URL to the TileJSON configuration file that specifies the contents of the + source. + + If the receiver was initialized using + `-initWithIdentifier:tileURLTemplates:options`, this property is set to `nil`. + */ +@property (nonatomic, copy, nullable, readonly) NSURL *configurationURL; + #pragma mark Accessing Attribution Strings /** -- cgit v1.2.1 From f0d54947b21095223cd1719df459b6308fbfd097 Mon Sep 17 00:00:00 2001 From: "Justin R. Miller" Date: Fri, 23 Dec 2016 03:15:12 +0800 Subject: [ios, macos] Expand documentation on MGLTileSource URL templates (#7213) * provide better docs for MGLTileSet template strings * clean up docs * line breaks * [ios, macos] Rewrote tile URL template docs --- platform/darwin/src/MGLTileSource.h | 92 ++++++++++++++++++++++++++++++++++++- 1 file changed, 90 insertions(+), 2 deletions(-) (limited to 'platform/darwin/src/MGLTileSource.h') diff --git a/platform/darwin/src/MGLTileSource.h b/platform/darwin/src/MGLTileSource.h index 994375bec0..12bc72538c 100644 --- a/platform/darwin/src/MGLTileSource.h +++ b/platform/darwin/src/MGLTileSource.h @@ -148,13 +148,101 @@ typedef NS_ENUM(NSUInteger, MGLTileCoordinateSystem) { /** Returns a tile source initialized an identifier, tile URL templates, and options. - + After initializing and configuring the source, add it to a map view’s style using the `-[MGLStyle addSource:]` method. + #### Tile URL templates + + Tile URL templates are strings that specify the URLs of the tile images to + load. Each template resembles an absolute URL, but with any number of + placeholder strings that the source evaluates based on the tile it needs to + load. For example: + + + + Tile sources support the following placeholder strings in tile URL templates, + all of which are optional: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Placeholder stringDescription
{x}The index of the tile along the map’s x axis according to Spherical + Mercator projection. If the value is 0, the tile’s left edge corresponds + to the 180th meridian west. If the value is 2z−1, + the tile’s right edge corresponds to the 180th meridian east.
{y}The index of the tile along the map’s y axis according to Spherical + Mercator projection. If the value is 0, the tile’s tile edge corresponds + to arctan(sinh(π)), or approximately 85.0511 degrees north. If the value + is 2z−1, the tile’s bottom edge corresponds to + −arctan(sinh(π)), or approximately 85.0511 degrees south. The y axis is + inverted if the options parameter contains + MGLTileSourceOptionTileCoordinateSystem with a value of + MGLTileCoordinateSystemTMS.
{z}The tile’s zoom level. At zoom level 0, each tile covers the entire + world map; at zoom level 1, it covers ¼ of the world; at zoom level 2, + 116 of the world, and so on. For tiles loaded by + a MGLRasterSource object, whether the tile zoom level + matches the map’s current zoom level depends on the value of the + source’s tile size as specified in the + MGLTileSourceOptionTileSize key of the + options parameter.
{bbox-epsg-3857}The tile’s bounding box, expressed as a comma-separated list of the + tile’s western, southern, eastern, and northern extents according to + Spherical Mercator (EPSG:3857) projection. The bounding box is typically + used with map services conforming to the + Web Map Service + protocol.
{quadkey}A quadkey indicating both the tile’s location and its zoom level. The + quadkey is typically used with + Bing Maps. +
{ratio}A suffix indicating the resolution of the tile image. The suffix is the + empty string for standard resolution displays and @2x for + Retina displays, including displays for which + NSScreen.backingScaleFactor or UIScreen.scale + is 3.
{prefix}Two hexadecimal digits chosen such that each visible tile has a + different prefix. The prefix is typically used for domain sharding.
+ + For more information about the `{x}`, `{y}`, and `{z}` placeholder strings, + consult the + OpenStreetMap Wiki. + @param identifier A string that uniquely identifies the source in the style to which it is added. - @param tileURLTemplates An array of tile URL template strings. + @param tileURLTemplates An array of tile URL template strings. Only the first + string is used; any additional strings are ignored. @param options A dictionary containing configuration options. See `MGLTileSourceOption` for available keys and values. Pass in `nil` to use the default values. -- cgit v1.2.1 From 5b03318c6fa885e35826e61753ce6fbcbd79b512 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Minh=20Nguye=CC=82=CC=83n?= Date: Sat, 24 Dec 2016 20:15:45 -0800 Subject: [ios, macos] Compare source options to specs --- platform/darwin/src/MGLTileSource.h | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'platform/darwin/src/MGLTileSource.h') diff --git a/platform/darwin/src/MGLTileSource.h b/platform/darwin/src/MGLTileSource.h index 12bc72538c..db5bc73338 100644 --- a/platform/darwin/src/MGLTileSource.h +++ b/platform/darwin/src/MGLTileSource.h @@ -19,6 +19,10 @@ typedef NSString *MGLTileSourceOption NS_STRING_ENUM; The value should be between 0 and 22, inclusive, and less than `MGLTileSourceOptionMaximumZoomLevel`, if specified. The default value for this option is 0. + + This option corresponds to the `minzoom` key in the + TileJSON + specification. */ extern const MGLTileSourceOption MGLTileSourceOptionMinimumZoomLevel; @@ -29,6 +33,10 @@ extern const MGLTileSourceOption MGLTileSourceOptionMinimumZoomLevel; The value should be between 0 and 22, inclusive, and less than `MGLTileSourceOptionMinimumZoomLevel`, if specified. The default value for this option is 22. + + This option corresponds to the `maxzoom` key in the + TileJSON + specification. */ extern const MGLTileSourceOption MGLTileSourceOptionMaximumZoomLevel; @@ -41,6 +49,10 @@ extern const MGLTileSourceOption MGLTileSourceOptionMaximumZoomLevel; By default, no attribution statements are displayed. If the `MGLTileSourceOptionAttributionInfos` option is specified, this option is ignored. + + This option corresponds to the `attribution` key in the + TileJSON + specification. */ extern const MGLTileSourceOption MGLTileSourceOptionAttributionHTMLString; @@ -60,6 +72,10 @@ extern const MGLTileSourceOption MGLTileSourceOptionAttributionInfos; By default, no attribution statements are displayed. If the `MGLTileSourceOptionAttributionInfos` option is specified, this option is ignored. + + This option corresponds to the `attribution` key in the + TileJSON + specification. */ extern const MGLTileSourceOption MGLTileSourceOptionAttributionHTMLString; @@ -79,6 +95,10 @@ extern const MGLTileSourceOption MGLTileSourceOptionAttributionInfos; the constants described in `MGLTileCoordinateSystem`. The default value for this option is `MGLTileCoordinateSystemXYZ`. + + This option corresponds to the `scheme` key in the + TileJSON + specification. */ extern const MGLTileSourceOption MGLTileSourceOptionTileCoordinateSystem; -- cgit v1.2.1