This repository was archived by the owner on Aug 8, 2023. It is now read-only.
Update and reformat documentation for runtime styling#7475
Merged
Conversation
Changelog entries related to style JSON now lead off with the analogous portion of the runtime styling API.
jazzy can autolink `Class.property` references in documentation comments.
Rewrote documentation about MGLShape, its subclasses, and MGLFeature to emphasize runtime styling uses over annotation uses, associate each type with real-world concepts, cross-reference related style layer classes, and cross-reference related or easily confused shape classes. Links to the GeoJSON specification have been updated to RFC 7946.
With this change, documentation about style layer classes is nominally based on the documentation in the style specification. However, all the existing layer types’ documentation has been overridden to explain what the layer looks like, relate the layer to a real-world concept, and cross-reference related geometry classes. This change also corrects the description of MGLBackgroundStyleLayer, which erroneously stated that the identifier must be “background”, whereas that only happens to be true by default for Studio template styles.
1ec5
commented
Dec 20, 2016
| "doc": "An `MGLRasterStyleLayer` is a style layer that renders raster tiles on the map.\n\nUse a raster style layer to configure the color parameters of raster tiles loaded by an `MGLRasterSource` object. For example, you could use a raster style layer to render <a href=\"https://www.mapbox.com/satellite/\">Mapbox Satellite</a> imagery, a <a href=\"https://www.mapbox.com/help/define-tileset/#raster-tilesets\">raster tile set</a> uploaded to Mapbox Studio, or a raster map authored in <a href=\"https://tilemill-project.github.io/tilemill/\">TileMill</a>, the classic Mapbox Editor, or Mapbox Studio Classic." | ||
| }, | ||
| "background": { | ||
| "doc": "An `MGLBackgroundStyleLayer` is a style layer that covers the entire map. Use a background style layer to configure a color or pattern to show below all other map content. If the style’s other layers use the Mapbox Streets source, the background style layer is responsible for drawing land, whereas the oceans and other bodies of water are drawn by `MGLFillStyleLayer` objects.\n\nA background style layer is typically the bottommost layer in a style, because it covers the entire map and can occlude any layers below it. You can therefore access it by getting the last item in the `MGLStyle.layers` array.\n\nIf the background style layer is transparent or omitted from the style, any portion of the map view that does not show another style layer is transparent." |
Contributor
Author
There was a problem hiding this comment.
Note that “getting the last item in the MGLStyle.layers array” becomes “getting the first item in the MGLStyle.layers array” once #7484 lands.
friedbunny
approved these changes
Dec 20, 2016
Contributor
friedbunny
left a comment
There was a problem hiding this comment.
Great changes all around!
1ec5
commented
Dec 21, 2016
| "type": { | ||
| "values": { | ||
| "fill": { | ||
| "doc": "An `MGLFillStyleLayer` is a style layer that renders one or more filled (and optionally stroked) polygons on the map.\n\nUse a fill style layer to configure the visual appearance of polygon or multipolygon features in vector tiles loaded by an `MGLVectorSource` object or `MGLPolygon`, `MGLPolygonFeature`, `MGLMultiPolygon`, or `MGLMultiPolygonFeature` instances in an `MGLShapeSource` object." |
Contributor
Author
There was a problem hiding this comment.
Once fill extrusion layers land on the master branch, we’ll need to provide a similar documentation string for the fill-extrusion type.
/cc @boundsj
1ec5
commented
Dec 21, 2016
| "doc": "An `MGLSymbolStyleLayer` is a style layer that renders icon and text labels at points or along lines on the map.\n\nUse a symbol style layer to configure the visual appearance of labels for features in vector tiles loaded by an `MGLVectorSource` object or `MGLShape` or `MGLFeature` instances in an `MGLShapeSource` object." | ||
| }, | ||
| "circle": { | ||
| "doc": "An `MGLCircleStyleLayer` is a style layer that renders one or more filled circles on the map.\n\nUse a circle style layer to configure the visual appearance of point or point collection features in vector tiles loaded by an `MGLVectorSource` object or `MGLPointAnnotation`, `MGLPointFeature`, `MGLPointCollection`, or `MGLPointCollectionFeature` instances in an `MGLShapeSource` object.\n\nA circle style layer renders circles whose radii are measured in screen units. To display circles on the map whose radii correspond to real-world distances, use many-sided regular polygons and configure their appearance using an `MGLFillStyleLayer` object." |
Contributor
Author
There was a problem hiding this comment.
Once this change makes it into the master branch, we’ll need to update this documentation string to note that circle style layers can be filled and optionally stroked.
This was referenced Dec 21, 2016
This file contains hidden or 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
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Rewrote documentation about MGLShape, its subclasses, and MGLFeature to emphasize runtime styling uses over annotation uses. The documentation comment for each class answers the following questions:
Rewrote documentation about MGLStyleLayer and its subclasses. The documentation comments are nominally based on the documentation in the style specification. However, all the existing layer types’ documentation has been overridden to answer the following questions:
Generated documentation comments for MGLStyleLayer subclasses now wrap at column 80. References to properties in other classes have gone from “
MGLClass’spropertyproperty” to “theMGLClass.propertyproperty”, because jazzy can apparently autolink the latter syntax.Updated links to the GeoJSON specification to point to RFC 7946. Removed references to unimplemented features like circle overlays. Corrected the description of MGLBackgroundStyleLayer, which erroneously stated that the identifier must be “background”, whereas that only happens to be true by default for Studio template styles.
Fixes #6144.
/cc @ericrwolfe