summaryrefslogtreecommitdiff
path: root/macos/0.9.0/predicates-and-expressions.html
diff options
context:
space:
mode:
Diffstat (limited to 'macos/0.9.0/predicates-and-expressions.html')
-rw-r--r--macos/0.9.0/predicates-and-expressions.html1763
1 files changed, 1763 insertions, 0 deletions
diff --git a/macos/0.9.0/predicates-and-expressions.html b/macos/0.9.0/predicates-and-expressions.html
new file mode 100644
index 0000000000..f2ba000d9f
--- /dev/null
+++ b/macos/0.9.0/predicates-and-expressions.html
@@ -0,0 +1,1763 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <title>Predicates and Expressions Reference</title>
+ <link rel="stylesheet" type="text/css" href="css/jazzy.css" />
+ <link rel="stylesheet" type="text/css" href="css/highlight.css" />
+ <meta charset="utf-8">
+ <script src="js/jquery.min.js" defer></script>
+ <script src="js/jazzy.js" defer></script>
+ <link rel='shortcut icon' href='https://www.mapbox.com/img/favicon.ico' type='image/x-icon' />
+
+ <style type="text/css">
+ .nav-group-name[data-name="Predicates and Expressions"] > .small-heading,
+ .nav-group-task[data-name="Predicates and Expressions"] {
+ background-color: #f5f8fc;
+ font-family: "Open Sans Bold";
+ border-left: 3px solid #3a68d8;
+ padding-left: 5px
+ }
+ </style>
+ </head>
+ <body>
+
+
+ <a title="Predicates and Expressions Reference"></a>
+
+ <header class="header-container">
+ <div class="limiter">
+ <div class="header">
+ <p class="header-col header-col--primary">
+ <a class="header-link" href="index.html">
+ <img style="height: 25px;" class="header-icon" src="img/mapbox.svg" alt="Mapbox Maps SDK for macOS Docs"/>
+ <span class='header-tag'>Maps SDK for macOS Reference</span>
+ </a>
+
+ </p>
+
+ <p class="header-col header-col--secondary">
+ <a class="header-link space-right2" href="https://github.com/mapbox/mapbox-gl-native">
+ <svg style="margin-bottom: 1px;" class="header-icon" viewBox="0 0 33 33" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <path stroke="none" stroke-width="1" fill="white" fill-rule="evenodd" d="M16.6,0.4 C7.6,0.4 0.3,7.7 0.3,16.7 C0.3,23.9 5,30 11.4,32.2 C12.2,32.3 12.5,31.8 12.5,31.4 L12.5,28.6 C8,29.6 7,26.4 7,26.4 C6.3,24.5 5.2,24 5.2,24 C3.7,23 5.3,23 5.3,23 C6.9,23.1 7.8,24.7 7.8,24.7 C9.3,27.2 11.6,26.5 12.5,26.1 C12.6,25 13.1,24.3 13.5,23.9 C9.9,23.5 6.1,22.1 6.1,15.8 C6.1,14 6.7,12.6 7.8,11.4 C7.6,11 7.1,9.3 8,7.1 C8,7.1 9.4,6.7 12.5,8.8 C13.8,8.4 15.2,8.3 16.6,8.3 C18,8.3 19.4,8.5 20.7,8.8 C23.8,6.7 25.2,7.1 25.2,7.1 C26.1,9.3 25.5,11 25.4,11.4 C26.4,12.5 27.1,14 27.1,15.8 C27.1,22.1 23.3,23.4 19.7,23.8 C20.3,24.3 20.8,25.3 20.8,26.8 L20.8,31.3 C20.8,31.7 21.1,32.2 21.9,32.1 C28.4,29.9 33,23.8 33,16.6 C32.9,7.7 25.6,0.4 16.6,0.4 L16.6,0.4 Z"></path>
+ </svg>
+ View on GitHub
+ </a>
+ </p>
+
+ <p class="header-col header-col--secondary">
+ <a class="header-link bold" href="dash-feed://https%3A%2F%2Fmapbox%2Egithub%2Eio%2Fmapbox%2Dgl%2Dnative%2Fmacos%2Fdocsets%2FMapbox%2Exml">
+ <img style="margin-bottom: 1px;" class="header-icon" src="img/dash.png"/>
+ Install in Dash
+ </a>
+ </p>
+ </div>
+ </div>
+ </header>
+
+ <div class="breadcrumbs">
+ <div class="limiter">
+ <a class="breadcrumb" href="index.html">Mapbox Maps SDK for macOS Reference</a>
+ <img class="carat" src="img/carat.png" />
+ Predicates and Expressions Reference
+ </div>
+ </div>
+
+ <div class="content-wrapper limiter">
+ <nav class="navigation">
+ <ul class="nav-groups">
+ <li class="nav-group-name" data-name="Guides">
+ <a class="small-heading" href="Guides.html">Guides<span class="anchor-icon" /></a>
+ <ul class="nav-group-tasks">
+ <li class="nav-group-task" data-name="Working with GeoJSON Data" data-url="working-with-geojson-data.html">
+ <a title="Working with GeoJSON Data" class="nav-group-task-link" href="working-with-geojson-data.html">Working with GeoJSON Data</a>
+ </li>
+ <li class="nav-group-task" data-name="Predicates and Expressions" data-url="predicates-and-expressions.html">
+ <a title="Predicates and Expressions" class="nav-group-task-link" href="predicates-and-expressions.html">Predicates and Expressions</a>
+ </li>
+ <li class="nav-group-task" data-name="For Style Authors" data-url="for-style-authors.html">
+ <a title="For Style Authors" class="nav-group-task-link" href="for-style-authors.html">For Style Authors</a>
+ </li>
+ <li class="nav-group-task" data-name="Migrating to Expressions" data-url="migrating-to-expressions.html">
+ <a title="Migrating to Expressions" class="nav-group-task-link" href="migrating-to-expressions.html">Migrating to Expressions</a>
+ </li>
+ <li class="nav-group-task" data-name="Tile URL Templates" data-url="tile-url-templates.html">
+ <a title="Tile URL Templates" class="nav-group-task-link" href="tile-url-templates.html">Tile URL Templates</a>
+ </li>
+ <li class="nav-group-task" data-name="Info.plist Keys" data-url="infoplist-keys.html">
+ <a title="Info.plist Keys" class="nav-group-task-link" href="infoplist-keys.html">Info.plist Keys</a>
+ </li>
+ </ul>
+ </li>
+ <li class="nav-group-name" data-name="Maps">
+ <a class="small-heading" href="Maps.html">Maps<span class="anchor-icon" /></a>
+ <ul class="nav-group-tasks">
+ <li class="nav-group-task" data-name="MGLAccountManager" data-url="Classes/MGLAccountManager.html">
+ <a title="MGLAccountManager" class="nav-group-task-link" href="Classes/MGLAccountManager.html">MGLAccountManager</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLMapCamera" data-url="Classes/MGLMapCamera.html">
+ <a title="MGLMapCamera" class="nav-group-task-link" href="Classes/MGLMapCamera.html">MGLMapCamera</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLMapView" data-url="Classes/MGLMapView.html">
+ <a title="MGLMapView" class="nav-group-task-link" href="Classes/MGLMapView.html">MGLMapView</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLMapViewDelegate" data-url="Protocols/MGLMapViewDelegate.html">
+ <a title="MGLMapViewDelegate" class="nav-group-task-link" href="Protocols/MGLMapViewDelegate.html">MGLMapViewDelegate</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLMapSnapshot" data-url="Classes/MGLMapSnapshot.html">
+ <a title="MGLMapSnapshot" class="nav-group-task-link" href="Classes/MGLMapSnapshot.html">MGLMapSnapshot</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLMapSnapshotOptions" data-url="Classes/MGLMapSnapshotOptions.html">
+ <a title="MGLMapSnapshotOptions" class="nav-group-task-link" href="Classes/MGLMapSnapshotOptions.html">MGLMapSnapshotOptions</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLMapSnapshotter" data-url="Classes/MGLMapSnapshotter.html">
+ <a title="MGLMapSnapshotter" class="nav-group-task-link" href="Classes/MGLMapSnapshotter.html">MGLMapSnapshotter</a>
+ </li>
+ </ul>
+ </li>
+ <li class="nav-group-name" data-name="Shapes and Annotations">
+ <a class="small-heading" href="Shapes and Annotations.html">Shapes and Annotations<span class="anchor-icon" /></a>
+ <ul class="nav-group-tasks">
+ <li class="nav-group-task" data-name="MGLAnnotation" data-url="Protocols/MGLAnnotation.html">
+ <a title="MGLAnnotation" class="nav-group-task-link" href="Protocols/MGLAnnotation.html">MGLAnnotation</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLAnnotationImage" data-url="Classes/MGLAnnotationImage.html">
+ <a title="MGLAnnotationImage" class="nav-group-task-link" href="Classes/MGLAnnotationImage.html">MGLAnnotationImage</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLOverlay" data-url="Protocols/MGLOverlay.html">
+ <a title="MGLOverlay" class="nav-group-task-link" href="Protocols/MGLOverlay.html">MGLOverlay</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLShape" data-url="Classes/MGLShape.html">
+ <a title="MGLShape" class="nav-group-task-link" href="Classes/MGLShape.html">MGLShape</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLMultiPoint" data-url="Classes/MGLMultiPoint.html">
+ <a title="MGLMultiPoint" class="nav-group-task-link" href="Classes/MGLMultiPoint.html">MGLMultiPoint</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLPointAnnotation" data-url="Classes/MGLPointAnnotation.html">
+ <a title="MGLPointAnnotation" class="nav-group-task-link" href="Classes/MGLPointAnnotation.html">MGLPointAnnotation</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLPointCollection" data-url="Classes/MGLPointCollection.html">
+ <a title="MGLPointCollection" class="nav-group-task-link" href="Classes/MGLPointCollection.html">MGLPointCollection</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLPolygon" data-url="Classes/MGLPolygon.html">
+ <a title="MGLPolygon" class="nav-group-task-link" href="Classes/MGLPolygon.html">MGLPolygon</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLPolyline" data-url="Classes/MGLPolyline.html">
+ <a title="MGLPolyline" class="nav-group-task-link" href="Classes/MGLPolyline.html">MGLPolyline</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLMultiPolygon" data-url="Classes/MGLMultiPolygon.html">
+ <a title="MGLMultiPolygon" class="nav-group-task-link" href="Classes/MGLMultiPolygon.html">MGLMultiPolygon</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLMultiPolyline" data-url="Classes/MGLMultiPolyline.html">
+ <a title="MGLMultiPolyline" class="nav-group-task-link" href="Classes/MGLMultiPolyline.html">MGLMultiPolyline</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLShapeCollection" data-url="Classes/MGLShapeCollection.html">
+ <a title="MGLShapeCollection" class="nav-group-task-link" href="Classes/MGLShapeCollection.html">MGLShapeCollection</a>
+ </li>
+ </ul>
+ </li>
+ <li class="nav-group-name" data-name="Styling the Map">
+ <a class="small-heading" href="Styling the Map.html">Styling the Map<span class="anchor-icon" /></a>
+ <ul class="nav-group-tasks">
+ <li class="nav-group-task" data-name="MGLStyle" data-url="Classes/MGLStyle.html">
+ <a title="MGLStyle" class="nav-group-task-link" href="Classes/MGLStyle.html">MGLStyle</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLLight" data-url="Classes/MGLLight.html">
+ <a title="MGLLight" class="nav-group-task-link" href="Classes/MGLLight.html">MGLLight</a>
+ </li>
+ </ul>
+ </li>
+ <li class="nav-group-name" data-name="Content Primitives">
+ <a class="small-heading" href="Content Primitives.html">Content Primitives<span class="anchor-icon" /></a>
+ <ul class="nav-group-tasks">
+ <li class="nav-group-task" data-name="MGLFeature" data-url="Protocols/MGLFeature.html">
+ <a title="MGLFeature" class="nav-group-task-link" href="Protocols/MGLFeature.html">MGLFeature</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLPointFeature" data-url="Content Primitives.html#/c:objc(cs)MGLPointFeature">
+ <a title="MGLPointFeature" class="nav-group-task-link" href="Content Primitives.html#/c:objc(cs)MGLPointFeature">MGLPointFeature</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLPolygonFeature" data-url="Content Primitives.html#/c:objc(cs)MGLPolygonFeature">
+ <a title="MGLPolygonFeature" class="nav-group-task-link" href="Content Primitives.html#/c:objc(cs)MGLPolygonFeature">MGLPolygonFeature</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLPolylineFeature" data-url="Content Primitives.html#/c:objc(cs)MGLPolylineFeature">
+ <a title="MGLPolylineFeature" class="nav-group-task-link" href="Content Primitives.html#/c:objc(cs)MGLPolylineFeature">MGLPolylineFeature</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLMultiPolygonFeature" data-url="Content Primitives.html#/c:objc(cs)MGLMultiPolygonFeature">
+ <a title="MGLMultiPolygonFeature" class="nav-group-task-link" href="Content Primitives.html#/c:objc(cs)MGLMultiPolygonFeature">MGLMultiPolygonFeature</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLMultiPolylineFeature" data-url="Content Primitives.html#/c:objc(cs)MGLMultiPolylineFeature">
+ <a title="MGLMultiPolylineFeature" class="nav-group-task-link" href="Content Primitives.html#/c:objc(cs)MGLMultiPolylineFeature">MGLMultiPolylineFeature</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLPointCollectionFeature" data-url="Content Primitives.html#/c:objc(cs)MGLPointCollectionFeature">
+ <a title="MGLPointCollectionFeature" class="nav-group-task-link" href="Content Primitives.html#/c:objc(cs)MGLPointCollectionFeature">MGLPointCollectionFeature</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLShapeCollectionFeature" data-url="Content Primitives.html#/c:objc(cs)MGLShapeCollectionFeature">
+ <a title="MGLShapeCollectionFeature" class="nav-group-task-link" href="Content Primitives.html#/c:objc(cs)MGLShapeCollectionFeature">MGLShapeCollectionFeature</a>
+ </li>
+ </ul>
+ </li>
+ <li class="nav-group-name" data-name="Content Sources">
+ <a class="small-heading" href="Content Sources.html">Content Sources<span class="anchor-icon" /></a>
+ <ul class="nav-group-tasks">
+ <li class="nav-group-task" data-name="MGLSource" data-url="Classes/MGLSource.html">
+ <a title="MGLSource" class="nav-group-task-link" href="Classes/MGLSource.html">MGLSource</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLShapeSource" data-url="Classes/MGLShapeSource.html">
+ <a title="MGLShapeSource" class="nav-group-task-link" href="Classes/MGLShapeSource.html">MGLShapeSource</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLComputedShapeSource" data-url="Classes/MGLComputedShapeSource.html">
+ <a title="MGLComputedShapeSource" class="nav-group-task-link" href="Classes/MGLComputedShapeSource.html">MGLComputedShapeSource</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLTileSource" data-url="Classes/MGLTileSource.html">
+ <a title="MGLTileSource" class="nav-group-task-link" href="Classes/MGLTileSource.html">MGLTileSource</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLRasterTileSource" data-url="Classes/MGLRasterTileSource.html">
+ <a title="MGLRasterTileSource" class="nav-group-task-link" href="Classes/MGLRasterTileSource.html">MGLRasterTileSource</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLRasterDEMSource" data-url="Content Sources.html#/c:objc(cs)MGLRasterDEMSource">
+ <a title="MGLRasterDEMSource" class="nav-group-task-link" href="Content Sources.html#/c:objc(cs)MGLRasterDEMSource">MGLRasterDEMSource</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLVectorTileSource" data-url="Classes/MGLVectorTileSource.html">
+ <a title="MGLVectorTileSource" class="nav-group-task-link" href="Classes/MGLVectorTileSource.html">MGLVectorTileSource</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLImageSource" data-url="Classes/MGLImageSource.html">
+ <a title="MGLImageSource" class="nav-group-task-link" href="Classes/MGLImageSource.html">MGLImageSource</a>
+ </li>
+ </ul>
+ </li>
+ <li class="nav-group-name" data-name="Style Layers">
+ <a class="small-heading" href="Style Layers.html">Style Layers<span class="anchor-icon" /></a>
+ <ul class="nav-group-tasks">
+ <li class="nav-group-task" data-name="MGLStyleLayer" data-url="Classes/MGLStyleLayer.html">
+ <a title="MGLStyleLayer" class="nav-group-task-link" href="Classes/MGLStyleLayer.html">MGLStyleLayer</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLForegroundStyleLayer" data-url="Classes/MGLForegroundStyleLayer.html">
+ <a title="MGLForegroundStyleLayer" class="nav-group-task-link" href="Classes/MGLForegroundStyleLayer.html">MGLForegroundStyleLayer</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLBackgroundStyleLayer" data-url="Classes/MGLBackgroundStyleLayer.html">
+ <a title="MGLBackgroundStyleLayer" class="nav-group-task-link" href="Classes/MGLBackgroundStyleLayer.html">MGLBackgroundStyleLayer</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLRasterStyleLayer" data-url="Classes/MGLRasterStyleLayer.html">
+ <a title="MGLRasterStyleLayer" class="nav-group-task-link" href="Classes/MGLRasterStyleLayer.html">MGLRasterStyleLayer</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLVectorStyleLayer" data-url="Classes/MGLVectorStyleLayer.html">
+ <a title="MGLVectorStyleLayer" class="nav-group-task-link" href="Classes/MGLVectorStyleLayer.html">MGLVectorStyleLayer</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLCircleStyleLayer" data-url="Classes/MGLCircleStyleLayer.html">
+ <a title="MGLCircleStyleLayer" class="nav-group-task-link" href="Classes/MGLCircleStyleLayer.html">MGLCircleStyleLayer</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLFillStyleLayer" data-url="Classes/MGLFillStyleLayer.html">
+ <a title="MGLFillStyleLayer" class="nav-group-task-link" href="Classes/MGLFillStyleLayer.html">MGLFillStyleLayer</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLFillExtrusionStyleLayer" data-url="Classes/MGLFillExtrusionStyleLayer.html">
+ <a title="MGLFillExtrusionStyleLayer" class="nav-group-task-link" href="Classes/MGLFillExtrusionStyleLayer.html">MGLFillExtrusionStyleLayer</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLHeatmapStyleLayer" data-url="Classes/MGLHeatmapStyleLayer.html">
+ <a title="MGLHeatmapStyleLayer" class="nav-group-task-link" href="Classes/MGLHeatmapStyleLayer.html">MGLHeatmapStyleLayer</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLHillshadeStyleLayer" data-url="Classes/MGLHillshadeStyleLayer.html">
+ <a title="MGLHillshadeStyleLayer" class="nav-group-task-link" href="Classes/MGLHillshadeStyleLayer.html">MGLHillshadeStyleLayer</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLLineStyleLayer" data-url="Classes/MGLLineStyleLayer.html">
+ <a title="MGLLineStyleLayer" class="nav-group-task-link" href="Classes/MGLLineStyleLayer.html">MGLLineStyleLayer</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLSymbolStyleLayer" data-url="Classes/MGLSymbolStyleLayer.html">
+ <a title="MGLSymbolStyleLayer" class="nav-group-task-link" href="Classes/MGLSymbolStyleLayer.html">MGLSymbolStyleLayer</a>
+ </li>
+ </ul>
+ </li>
+ <li class="nav-group-name" data-name="Offline Maps">
+ <a class="small-heading" href="Offline Maps.html">Offline Maps<span class="anchor-icon" /></a>
+ <ul class="nav-group-tasks">
+ <li class="nav-group-task" data-name="MGLOfflineRegion" data-url="Offline Maps.html#/c:objc(pl)MGLOfflineRegion">
+ <a title="MGLOfflineRegion" class="nav-group-task-link" href="Offline Maps.html#/c:objc(pl)MGLOfflineRegion">MGLOfflineRegion</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLOfflineStorage" data-url="Classes/MGLOfflineStorage.html">
+ <a title="MGLOfflineStorage" class="nav-group-task-link" href="Classes/MGLOfflineStorage.html">MGLOfflineStorage</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLOfflinePack" data-url="Classes/MGLOfflinePack.html">
+ <a title="MGLOfflinePack" class="nav-group-task-link" href="Classes/MGLOfflinePack.html">MGLOfflinePack</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLOfflinePackProgress" data-url="Structs/MGLOfflinePackProgress.html">
+ <a title="MGLOfflinePackProgress" class="nav-group-task-link" href="Structs/MGLOfflinePackProgress.html">MGLOfflinePackProgress</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLOfflinePackState" data-url="Enums/MGLOfflinePackState.html">
+ <a title="MGLOfflinePackState" class="nav-group-task-link" href="Enums/MGLOfflinePackState.html">MGLOfflinePackState</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLTilePyramidOfflineRegion" data-url="Classes/MGLTilePyramidOfflineRegion.html">
+ <a title="MGLTilePyramidOfflineRegion" class="nav-group-task-link" href="Classes/MGLTilePyramidOfflineRegion.html">MGLTilePyramidOfflineRegion</a>
+ </li>
+ </ul>
+ </li>
+ <li class="nav-group-name" data-name="Geometry">
+ <a class="small-heading" href="Geometry.html">Geometry<span class="anchor-icon" /></a>
+ <ul class="nav-group-tasks">
+ <li class="nav-group-task" data-name="MGLCoordinateBounds" data-url="Structs/MGLCoordinateBounds.html">
+ <a title="MGLCoordinateBounds" class="nav-group-task-link" href="Structs/MGLCoordinateBounds.html">MGLCoordinateBounds</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLCoordinateBoundsEqualToCoordinateBounds" data-url="Geometry.html#/c:MGLGeometry.h@F@MGLCoordinateBoundsEqualToCoordinateBounds">
+ <a title="MGLCoordinateBoundsEqualToCoordinateBounds" class="nav-group-task-link" href="Geometry.html#/c:MGLGeometry.h@F@MGLCoordinateBoundsEqualToCoordinateBounds">MGLCoordinateBoundsEqualToCoordinateBounds</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLCoordinateBoundsGetCoordinateSpan" data-url="Geometry.html#/c:MGLGeometry.h@F@MGLCoordinateBoundsGetCoordinateSpan">
+ <a title="MGLCoordinateBoundsGetCoordinateSpan" class="nav-group-task-link" href="Geometry.html#/c:MGLGeometry.h@F@MGLCoordinateBoundsGetCoordinateSpan">MGLCoordinateBoundsGetCoordinateSpan</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLCoordinateBoundsIntersectsCoordinateBounds" data-url="Geometry.html#/c:MGLGeometry.h@F@MGLCoordinateBoundsIntersectsCoordinateBounds">
+ <a title="MGLCoordinateBoundsIntersectsCoordinateBounds" class="nav-group-task-link" href="Geometry.html#/c:MGLGeometry.h@F@MGLCoordinateBoundsIntersectsCoordinateBounds">MGLCoordinateBoundsIntersectsCoordinateBounds</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLCoordinateBoundsIsEmpty" data-url="Geometry.html#/c:MGLGeometry.h@F@MGLCoordinateBoundsIsEmpty">
+ <a title="MGLCoordinateBoundsIsEmpty" class="nav-group-task-link" href="Geometry.html#/c:MGLGeometry.h@F@MGLCoordinateBoundsIsEmpty">MGLCoordinateBoundsIsEmpty</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLCoordinateBoundsMake" data-url="Geometry.html#/c:MGLGeometry.h@F@MGLCoordinateBoundsMake">
+ <a title="MGLCoordinateBoundsMake" class="nav-group-task-link" href="Geometry.html#/c:MGLGeometry.h@F@MGLCoordinateBoundsMake">MGLCoordinateBoundsMake</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLCoordinateBoundsOffset" data-url="Geometry.html#/c:MGLGeometry.h@F@MGLCoordinateBoundsOffset">
+ <a title="MGLCoordinateBoundsOffset" class="nav-group-task-link" href="Geometry.html#/c:MGLGeometry.h@F@MGLCoordinateBoundsOffset">MGLCoordinateBoundsOffset</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLCoordinateInCoordinateBounds" data-url="Geometry.html#/c:MGLGeometry.h@F@MGLCoordinateInCoordinateBounds">
+ <a title="MGLCoordinateInCoordinateBounds" class="nav-group-task-link" href="Geometry.html#/c:MGLGeometry.h@F@MGLCoordinateInCoordinateBounds">MGLCoordinateInCoordinateBounds</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLCoordinateSpan" data-url="Structs/MGLCoordinateSpan.html">
+ <a title="MGLCoordinateSpan" class="nav-group-task-link" href="Structs/MGLCoordinateSpan.html">MGLCoordinateSpan</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLCoordinateSpanEqualToCoordinateSpan" data-url="Geometry.html#/c:MGLGeometry.h@F@MGLCoordinateSpanEqualToCoordinateSpan">
+ <a title="MGLCoordinateSpanEqualToCoordinateSpan" class="nav-group-task-link" href="Geometry.html#/c:MGLGeometry.h@F@MGLCoordinateSpanEqualToCoordinateSpan">MGLCoordinateSpanEqualToCoordinateSpan</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLCoordinateSpanMake" data-url="Geometry.html#/c:MGLGeometry.h@F@MGLCoordinateSpanMake">
+ <a title="MGLCoordinateSpanMake" class="nav-group-task-link" href="Geometry.html#/c:MGLGeometry.h@F@MGLCoordinateSpanMake">MGLCoordinateSpanMake</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLCoordinateSpanZero" data-url="Geometry.html#/c:@MGLCoordinateSpanZero">
+ <a title="MGLCoordinateSpanZero" class="nav-group-task-link" href="Geometry.html#/c:@MGLCoordinateSpanZero">MGLCoordinateSpanZero</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLDegreesFromRadians" data-url="Geometry.html#/c:MGLGeometry.h@F@MGLDegreesFromRadians">
+ <a title="MGLDegreesFromRadians" class="nav-group-task-link" href="Geometry.html#/c:MGLGeometry.h@F@MGLDegreesFromRadians">MGLDegreesFromRadians</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLRadiansFromDegrees" data-url="Geometry.html#/c:MGLGeometry.h@F@MGLRadiansFromDegrees">
+ <a title="MGLRadiansFromDegrees" class="nav-group-task-link" href="Geometry.html#/c:MGLGeometry.h@F@MGLRadiansFromDegrees">MGLRadiansFromDegrees</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLStringFromCoordinateBounds" data-url="Geometry.html#/c:MGLGeometry.h@F@MGLStringFromCoordinateBounds">
+ <a title="MGLStringFromCoordinateBounds" class="nav-group-task-link" href="Geometry.html#/c:MGLGeometry.h@F@MGLStringFromCoordinateBounds">MGLStringFromCoordinateBounds</a>
+ </li>
+ </ul>
+ </li>
+ <li class="nav-group-name" data-name="Formatters">
+ <a class="small-heading" href="Formatters.html">Formatters<span class="anchor-icon" /></a>
+ <ul class="nav-group-tasks">
+ <li class="nav-group-task" data-name="MGLClockDirectionFormatter" data-url="Classes/MGLClockDirectionFormatter.html">
+ <a title="MGLClockDirectionFormatter" class="nav-group-task-link" href="Classes/MGLClockDirectionFormatter.html">MGLClockDirectionFormatter</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLCompassDirectionFormatter" data-url="Classes/MGLCompassDirectionFormatter.html">
+ <a title="MGLCompassDirectionFormatter" class="nav-group-task-link" href="Classes/MGLCompassDirectionFormatter.html">MGLCompassDirectionFormatter</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLCoordinateFormatter" data-url="Classes/MGLCoordinateFormatter.html">
+ <a title="MGLCoordinateFormatter" class="nav-group-task-link" href="Classes/MGLCoordinateFormatter.html">MGLCoordinateFormatter</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLDistanceFormatter" data-url="Classes/MGLDistanceFormatter.html">
+ <a title="MGLDistanceFormatter" class="nav-group-task-link" href="Classes/MGLDistanceFormatter.html">MGLDistanceFormatter</a>
+ </li>
+ </ul>
+ </li>
+ <li class="nav-group-name" data-name="Other Categories">
+ <a class="small-heading" href="Other Categories.html">Other Categories<span class="anchor-icon" /></a>
+ <ul class="nav-group-tasks">
+ <li class="nav-group-task" data-name="NSExpression(MGLAdditions)" data-url="Categories/NSExpression(MGLAdditions).html">
+ <a title="NSExpression(MGLAdditions)" class="nav-group-task-link" href="Categories/NSExpression(MGLAdditions).html">NSExpression(MGLAdditions)</a>
+ </li>
+ <li class="nav-group-task" data-name="NSValue(MGLAdditions)" data-url="Categories/NSValue(MGLAdditions).html">
+ <a title="NSValue(MGLAdditions)" class="nav-group-task-link" href="Categories/NSValue(MGLAdditions).html">NSValue(MGLAdditions)</a>
+ </li>
+ <li class="nav-group-task" data-name="NSValue(MGLCircleStyleLayerAdditions)" data-url="Categories/NSValue(MGLCircleStyleLayerAdditions).html">
+ <a title="NSValue(MGLCircleStyleLayerAdditions)" class="nav-group-task-link" href="Categories/NSValue(MGLCircleStyleLayerAdditions).html">NSValue(MGLCircleStyleLayerAdditions)</a>
+ </li>
+ <li class="nav-group-task" data-name="NSValue(MGLFillExtrusionStyleLayerAdditions)" data-url="Categories/NSValue(MGLFillExtrusionStyleLayerAdditions).html">
+ <a title="NSValue(MGLFillExtrusionStyleLayerAdditions)" class="nav-group-task-link" href="Categories/NSValue(MGLFillExtrusionStyleLayerAdditions).html">NSValue(MGLFillExtrusionStyleLayerAdditions)</a>
+ </li>
+ <li class="nav-group-task" data-name="NSValue(MGLFillStyleLayerAdditions)" data-url="Categories/NSValue(MGLFillStyleLayerAdditions).html">
+ <a title="NSValue(MGLFillStyleLayerAdditions)" class="nav-group-task-link" href="Categories/NSValue(MGLFillStyleLayerAdditions).html">NSValue(MGLFillStyleLayerAdditions)</a>
+ </li>
+ <li class="nav-group-task" data-name="NSValue(MGLHillshadeStyleLayerAdditions)" data-url="Categories/NSValue(MGLHillshadeStyleLayerAdditions).html">
+ <a title="NSValue(MGLHillshadeStyleLayerAdditions)" class="nav-group-task-link" href="Categories/NSValue(MGLHillshadeStyleLayerAdditions).html">NSValue(MGLHillshadeStyleLayerAdditions)</a>
+ </li>
+ <li class="nav-group-task" data-name="NSValue(MGLLineStyleLayerAdditions)" data-url="Categories/NSValue(MGLLineStyleLayerAdditions).html">
+ <a title="NSValue(MGLLineStyleLayerAdditions)" class="nav-group-task-link" href="Categories/NSValue(MGLLineStyleLayerAdditions).html">NSValue(MGLLineStyleLayerAdditions)</a>
+ </li>
+ <li class="nav-group-task" data-name="NSValue(MGLRasterStyleLayerAdditions)" data-url="Categories/NSValue(MGLRasterStyleLayerAdditions).html">
+ <a title="NSValue(MGLRasterStyleLayerAdditions)" class="nav-group-task-link" href="Categories/NSValue(MGLRasterStyleLayerAdditions).html">NSValue(MGLRasterStyleLayerAdditions)</a>
+ </li>
+ <li class="nav-group-task" data-name="NSValue(MGLSymbolStyleLayerAdditions)" data-url="Categories/NSValue(MGLSymbolStyleLayerAdditions).html">
+ <a title="NSValue(MGLSymbolStyleLayerAdditions)" class="nav-group-task-link" href="Categories/NSValue(MGLSymbolStyleLayerAdditions).html">NSValue(MGLSymbolStyleLayerAdditions)</a>
+ </li>
+ </ul>
+ </li>
+ <li class="nav-group-name" data-name="Other Classes">
+ <a class="small-heading" href="Other Classes.html">Other Classes<span class="anchor-icon" /></a>
+ <ul class="nav-group-tasks">
+ <li class="nav-group-task" data-name="MGLAttributionInfo" data-url="Classes/MGLAttributionInfo.html">
+ <a title="MGLAttributionInfo" class="nav-group-task-link" href="Classes/MGLAttributionInfo.html">MGLAttributionInfo</a>
+ </li>
+ </ul>
+ </li>
+ <li class="nav-group-name" data-name="Other Constants">
+ <a class="small-heading" href="Other Constants.html">Other Constants<span class="anchor-icon" /></a>
+ <ul class="nav-group-tasks">
+ <li class="nav-group-task" data-name="MGLErrorDomain" data-url="Other Constants.html#/c:@MGLErrorDomain">
+ <a title="MGLErrorDomain" class="nav-group-task-link" href="Other Constants.html#/c:@MGLErrorDomain">MGLErrorDomain</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLExpressionInterpolationModeCubicBezier" data-url="Other Constants.html#/c:@MGLExpressionInterpolationModeCubicBezier">
+ <a title="MGLExpressionInterpolationModeCubicBezier" class="nav-group-task-link" href="Other Constants.html#/c:@MGLExpressionInterpolationModeCubicBezier">MGLExpressionInterpolationModeCubicBezier</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLExpressionInterpolationModeExponential" data-url="Other Constants.html#/c:@MGLExpressionInterpolationModeExponential">
+ <a title="MGLExpressionInterpolationModeExponential" class="nav-group-task-link" href="Other Constants.html#/c:@MGLExpressionInterpolationModeExponential">MGLExpressionInterpolationModeExponential</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLExpressionInterpolationModeLinear" data-url="Other Constants.html#/c:@MGLExpressionInterpolationModeLinear">
+ <a title="MGLExpressionInterpolationModeLinear" class="nav-group-task-link" href="Other Constants.html#/c:@MGLExpressionInterpolationModeLinear">MGLExpressionInterpolationModeLinear</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLOfflinePackErrorNotification" data-url="Other Constants.html#/c:@MGLOfflinePackErrorNotification">
+ <a title="MGLOfflinePackErrorNotification" class="nav-group-task-link" href="Other Constants.html#/c:@MGLOfflinePackErrorNotification">MGLOfflinePackErrorNotification</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLOfflinePackMaximumMapboxTilesReachedNotification" data-url="Other Constants.html#/c:@MGLOfflinePackMaximumMapboxTilesReachedNotification">
+ <a title="MGLOfflinePackMaximumMapboxTilesReachedNotification" class="nav-group-task-link" href="Other Constants.html#/c:@MGLOfflinePackMaximumMapboxTilesReachedNotification">MGLOfflinePackMaximumMapboxTilesReachedNotification</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLOfflinePackProgressChangedNotification" data-url="Other Constants.html#/c:@MGLOfflinePackProgressChangedNotification">
+ <a title="MGLOfflinePackProgressChangedNotification" class="nav-group-task-link" href="Other Constants.html#/c:@MGLOfflinePackProgressChangedNotification">MGLOfflinePackProgressChangedNotification</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLOfflinePackUserInfoKeyError" data-url="Other Constants.html#/c:@MGLOfflinePackUserInfoKeyError">
+ <a title="MGLOfflinePackUserInfoKeyError" class="nav-group-task-link" href="Other Constants.html#/c:@MGLOfflinePackUserInfoKeyError">MGLOfflinePackUserInfoKeyError</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLOfflinePackUserInfoKeyMaximumCount" data-url="Other Constants.html#/c:@MGLOfflinePackUserInfoKeyMaximumCount">
+ <a title="MGLOfflinePackUserInfoKeyMaximumCount" class="nav-group-task-link" href="Other Constants.html#/c:@MGLOfflinePackUserInfoKeyMaximumCount">MGLOfflinePackUserInfoKeyMaximumCount</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLOfflinePackUserInfoKeyProgress" data-url="Other Constants.html#/c:@MGLOfflinePackUserInfoKeyProgress">
+ <a title="MGLOfflinePackUserInfoKeyProgress" class="nav-group-task-link" href="Other Constants.html#/c:@MGLOfflinePackUserInfoKeyProgress">MGLOfflinePackUserInfoKeyProgress</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLOfflinePackUserInfoKeyState" data-url="Other Constants.html#/c:@MGLOfflinePackUserInfoKeyState">
+ <a title="MGLOfflinePackUserInfoKeyState" class="nav-group-task-link" href="Other Constants.html#/c:@MGLOfflinePackUserInfoKeyState">MGLOfflinePackUserInfoKeyState</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLShapeSourceOptionBuffer" data-url="Other Constants.html#/c:@MGLShapeSourceOptionBuffer">
+ <a title="MGLShapeSourceOptionBuffer" class="nav-group-task-link" href="Other Constants.html#/c:@MGLShapeSourceOptionBuffer">MGLShapeSourceOptionBuffer</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLShapeSourceOptionClipsCoordinates" data-url="Other Constants.html#/c:@MGLShapeSourceOptionClipsCoordinates">
+ <a title="MGLShapeSourceOptionClipsCoordinates" class="nav-group-task-link" href="Other Constants.html#/c:@MGLShapeSourceOptionClipsCoordinates">MGLShapeSourceOptionClipsCoordinates</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLShapeSourceOptionClusterRadius" data-url="Other Constants.html#/c:@MGLShapeSourceOptionClusterRadius">
+ <a title="MGLShapeSourceOptionClusterRadius" class="nav-group-task-link" href="Other Constants.html#/c:@MGLShapeSourceOptionClusterRadius">MGLShapeSourceOptionClusterRadius</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLShapeSourceOptionClustered" data-url="Other Constants.html#/c:@MGLShapeSourceOptionClustered">
+ <a title="MGLShapeSourceOptionClustered" class="nav-group-task-link" href="Other Constants.html#/c:@MGLShapeSourceOptionClustered">MGLShapeSourceOptionClustered</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLShapeSourceOptionMaximumZoomLevel" data-url="Other Constants.html#/c:@MGLShapeSourceOptionMaximumZoomLevel">
+ <a title="MGLShapeSourceOptionMaximumZoomLevel" class="nav-group-task-link" href="Other Constants.html#/c:@MGLShapeSourceOptionMaximumZoomLevel">MGLShapeSourceOptionMaximumZoomLevel</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLShapeSourceOptionMaximumZoomLevelForClustering" data-url="Other Constants.html#/c:@MGLShapeSourceOptionMaximumZoomLevelForClustering">
+ <a title="MGLShapeSourceOptionMaximumZoomLevelForClustering" class="nav-group-task-link" href="Other Constants.html#/c:@MGLShapeSourceOptionMaximumZoomLevelForClustering">MGLShapeSourceOptionMaximumZoomLevelForClustering</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLShapeSourceOptionMinimumZoomLevel" data-url="Other Constants.html#/c:@MGLShapeSourceOptionMinimumZoomLevel">
+ <a title="MGLShapeSourceOptionMinimumZoomLevel" class="nav-group-task-link" href="Other Constants.html#/c:@MGLShapeSourceOptionMinimumZoomLevel">MGLShapeSourceOptionMinimumZoomLevel</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLShapeSourceOptionSimplificationTolerance" data-url="Other Constants.html#/c:@MGLShapeSourceOptionSimplificationTolerance">
+ <a title="MGLShapeSourceOptionSimplificationTolerance" class="nav-group-task-link" href="Other Constants.html#/c:@MGLShapeSourceOptionSimplificationTolerance">MGLShapeSourceOptionSimplificationTolerance</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLShapeSourceOptionWrapsCoordinates" data-url="Other Constants.html#/c:@MGLShapeSourceOptionWrapsCoordinates">
+ <a title="MGLShapeSourceOptionWrapsCoordinates" class="nav-group-task-link" href="Other Constants.html#/c:@MGLShapeSourceOptionWrapsCoordinates">MGLShapeSourceOptionWrapsCoordinates</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLStyleDefaultVersion" data-url="Other Constants.html#/c:MGLStyle.h@MGLStyleDefaultVersion">
+ <a title="MGLStyleDefaultVersion" class="nav-group-task-link" href="Other Constants.html#/c:MGLStyle.h@MGLStyleDefaultVersion">MGLStyleDefaultVersion</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLTileSourceOptionAttributionHTMLString" data-url="Other Constants.html#/c:@MGLTileSourceOptionAttributionHTMLString">
+ <a title="MGLTileSourceOptionAttributionHTMLString" class="nav-group-task-link" href="Other Constants.html#/c:@MGLTileSourceOptionAttributionHTMLString">MGLTileSourceOptionAttributionHTMLString</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLTileSourceOptionAttributionInfos" data-url="Other Constants.html#/c:@MGLTileSourceOptionAttributionInfos">
+ <a title="MGLTileSourceOptionAttributionInfos" class="nav-group-task-link" href="Other Constants.html#/c:@MGLTileSourceOptionAttributionInfos">MGLTileSourceOptionAttributionInfos</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLTileSourceOptionCoordinateBounds" data-url="Other Constants.html#/c:@MGLTileSourceOptionCoordinateBounds">
+ <a title="MGLTileSourceOptionCoordinateBounds" class="nav-group-task-link" href="Other Constants.html#/c:@MGLTileSourceOptionCoordinateBounds">MGLTileSourceOptionCoordinateBounds</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLTileSourceOptionDEMEncoding" data-url="Other Constants.html#/c:@MGLTileSourceOptionDEMEncoding">
+ <a title="MGLTileSourceOptionDEMEncoding" class="nav-group-task-link" href="Other Constants.html#/c:@MGLTileSourceOptionDEMEncoding">MGLTileSourceOptionDEMEncoding</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLTileSourceOptionMaximumZoomLevel" data-url="Other Constants.html#/c:@MGLTileSourceOptionMaximumZoomLevel">
+ <a title="MGLTileSourceOptionMaximumZoomLevel" class="nav-group-task-link" href="Other Constants.html#/c:@MGLTileSourceOptionMaximumZoomLevel">MGLTileSourceOptionMaximumZoomLevel</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLTileSourceOptionMinimumZoomLevel" data-url="Other Constants.html#/c:@MGLTileSourceOptionMinimumZoomLevel">
+ <a title="MGLTileSourceOptionMinimumZoomLevel" class="nav-group-task-link" href="Other Constants.html#/c:@MGLTileSourceOptionMinimumZoomLevel">MGLTileSourceOptionMinimumZoomLevel</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLTileSourceOptionTileCoordinateSystem" data-url="Other Constants.html#/c:@MGLTileSourceOptionTileCoordinateSystem">
+ <a title="MGLTileSourceOptionTileCoordinateSystem" class="nav-group-task-link" href="Other Constants.html#/c:@MGLTileSourceOptionTileCoordinateSystem">MGLTileSourceOptionTileCoordinateSystem</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLTileSourceOptionTileSize" data-url="Other Constants.html#/c:@MGLTileSourceOptionTileSize">
+ <a title="MGLTileSourceOptionTileSize" class="nav-group-task-link" href="Other Constants.html#/c:@MGLTileSourceOptionTileSize">MGLTileSourceOptionTileSize</a>
+ </li>
+ <li class="nav-group-task" data-name="MapboxVersionNumber" data-url="Other Constants.html#/c:@MapboxVersionNumber">
+ <a title="MapboxVersionNumber" class="nav-group-task-link" href="Other Constants.html#/c:@MapboxVersionNumber">MapboxVersionNumber</a>
+ </li>
+ <li class="nav-group-task" data-name="MapboxVersionString" data-url="Other Constants.html#/c:@MapboxVersionString">
+ <a title="MapboxVersionString" class="nav-group-task-link" href="Other Constants.html#/c:@MapboxVersionString">MapboxVersionString</a>
+ </li>
+ </ul>
+ </li>
+ <li class="nav-group-name" data-name="Other Enumerations">
+ <a class="small-heading" href="Other Enumerations.html">Other Enumerations<span class="anchor-icon" /></a>
+ <ul class="nav-group-tasks">
+ <li class="nav-group-task" data-name="MGLAttributionInfoStyle" data-url="Enums/MGLAttributionInfoStyle.html">
+ <a title="MGLAttributionInfoStyle" class="nav-group-task-link" href="Enums/MGLAttributionInfoStyle.html">MGLAttributionInfoStyle</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLCirclePitchAlignment" data-url="Enums/MGLCirclePitchAlignment.html">
+ <a title="MGLCirclePitchAlignment" class="nav-group-task-link" href="Enums/MGLCirclePitchAlignment.html">MGLCirclePitchAlignment</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLCircleScaleAlignment" data-url="Enums/MGLCircleScaleAlignment.html">
+ <a title="MGLCircleScaleAlignment" class="nav-group-task-link" href="Enums/MGLCircleScaleAlignment.html">MGLCircleScaleAlignment</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLCircleTranslationAnchor" data-url="Enums/MGLCircleTranslationAnchor.html">
+ <a title="MGLCircleTranslationAnchor" class="nav-group-task-link" href="Enums/MGLCircleTranslationAnchor.html">MGLCircleTranslationAnchor</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLDEMEncoding" data-url="Enums/MGLDEMEncoding.html">
+ <a title="MGLDEMEncoding" class="nav-group-task-link" href="Enums/MGLDEMEncoding.html">MGLDEMEncoding</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLErrorCode" data-url="Enums/MGLErrorCode.html">
+ <a title="MGLErrorCode" class="nav-group-task-link" href="Enums/MGLErrorCode.html">MGLErrorCode</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLFillExtrusionTranslationAnchor" data-url="Enums/MGLFillExtrusionTranslationAnchor.html">
+ <a title="MGLFillExtrusionTranslationAnchor" class="nav-group-task-link" href="Enums/MGLFillExtrusionTranslationAnchor.html">MGLFillExtrusionTranslationAnchor</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLFillTranslationAnchor" data-url="Enums/MGLFillTranslationAnchor.html">
+ <a title="MGLFillTranslationAnchor" class="nav-group-task-link" href="Enums/MGLFillTranslationAnchor.html">MGLFillTranslationAnchor</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLHillshadeIlluminationAnchor" data-url="Enums/MGLHillshadeIlluminationAnchor.html">
+ <a title="MGLHillshadeIlluminationAnchor" class="nav-group-task-link" href="Enums/MGLHillshadeIlluminationAnchor.html">MGLHillshadeIlluminationAnchor</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLIconAnchor" data-url="Enums/MGLIconAnchor.html">
+ <a title="MGLIconAnchor" class="nav-group-task-link" href="Enums/MGLIconAnchor.html">MGLIconAnchor</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLIconPitchAlignment" data-url="Enums/MGLIconPitchAlignment.html">
+ <a title="MGLIconPitchAlignment" class="nav-group-task-link" href="Enums/MGLIconPitchAlignment.html">MGLIconPitchAlignment</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLIconRotationAlignment" data-url="Enums/MGLIconRotationAlignment.html">
+ <a title="MGLIconRotationAlignment" class="nav-group-task-link" href="Enums/MGLIconRotationAlignment.html">MGLIconRotationAlignment</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLIconTextFit" data-url="Enums/MGLIconTextFit.html">
+ <a title="MGLIconTextFit" class="nav-group-task-link" href="Enums/MGLIconTextFit.html">MGLIconTextFit</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLIconTranslationAnchor" data-url="Enums/MGLIconTranslationAnchor.html">
+ <a title="MGLIconTranslationAnchor" class="nav-group-task-link" href="Enums/MGLIconTranslationAnchor.html">MGLIconTranslationAnchor</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLLightAnchor" data-url="Enums/MGLLightAnchor.html">
+ <a title="MGLLightAnchor" class="nav-group-task-link" href="Enums/MGLLightAnchor.html">MGLLightAnchor</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLLineCap" data-url="Enums/MGLLineCap.html">
+ <a title="MGLLineCap" class="nav-group-task-link" href="Enums/MGLLineCap.html">MGLLineCap</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLLineJoin" data-url="Enums/MGLLineJoin.html">
+ <a title="MGLLineJoin" class="nav-group-task-link" href="Enums/MGLLineJoin.html">MGLLineJoin</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLLineTranslationAnchor" data-url="Enums/MGLLineTranslationAnchor.html">
+ <a title="MGLLineTranslationAnchor" class="nav-group-task-link" href="Enums/MGLLineTranslationAnchor.html">MGLLineTranslationAnchor</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLMapDebugMaskOptions" data-url="Enums/MGLMapDebugMaskOptions.html">
+ <a title="MGLMapDebugMaskOptions" class="nav-group-task-link" href="Enums/MGLMapDebugMaskOptions.html">MGLMapDebugMaskOptions</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLRasterResamplingMode" data-url="Enums/MGLRasterResamplingMode.html">
+ <a title="MGLRasterResamplingMode" class="nav-group-task-link" href="Enums/MGLRasterResamplingMode.html">MGLRasterResamplingMode</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLResourceKind" data-url="Enums/MGLResourceKind.html">
+ <a title="MGLResourceKind" class="nav-group-task-link" href="Enums/MGLResourceKind.html">MGLResourceKind</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLSymbolPlacement" data-url="Enums/MGLSymbolPlacement.html">
+ <a title="MGLSymbolPlacement" class="nav-group-task-link" href="Enums/MGLSymbolPlacement.html">MGLSymbolPlacement</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLTextAnchor" data-url="Enums/MGLTextAnchor.html">
+ <a title="MGLTextAnchor" class="nav-group-task-link" href="Enums/MGLTextAnchor.html">MGLTextAnchor</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLTextJustification" data-url="Enums/MGLTextJustification.html">
+ <a title="MGLTextJustification" class="nav-group-task-link" href="Enums/MGLTextJustification.html">MGLTextJustification</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLTextPitchAlignment" data-url="Enums/MGLTextPitchAlignment.html">
+ <a title="MGLTextPitchAlignment" class="nav-group-task-link" href="Enums/MGLTextPitchAlignment.html">MGLTextPitchAlignment</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLTextRotationAlignment" data-url="Enums/MGLTextRotationAlignment.html">
+ <a title="MGLTextRotationAlignment" class="nav-group-task-link" href="Enums/MGLTextRotationAlignment.html">MGLTextRotationAlignment</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLTextTransform" data-url="Enums/MGLTextTransform.html">
+ <a title="MGLTextTransform" class="nav-group-task-link" href="Enums/MGLTextTransform.html">MGLTextTransform</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLTextTranslationAnchor" data-url="Enums/MGLTextTranslationAnchor.html">
+ <a title="MGLTextTranslationAnchor" class="nav-group-task-link" href="Enums/MGLTextTranslationAnchor.html">MGLTextTranslationAnchor</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLTileCoordinateSystem" data-url="Enums/MGLTileCoordinateSystem.html">
+ <a title="MGLTileCoordinateSystem" class="nav-group-task-link" href="Enums/MGLTileCoordinateSystem.html">MGLTileCoordinateSystem</a>
+ </li>
+ </ul>
+ </li>
+ <li class="nav-group-name" data-name="Other Protocols">
+ <a class="small-heading" href="Other Protocols.html">Other Protocols<span class="anchor-icon" /></a>
+ <ul class="nav-group-tasks">
+ <li class="nav-group-task" data-name="MGLComputedShapeSourceDataSource" data-url="Protocols/MGLComputedShapeSourceDataSource.html">
+ <a title="MGLComputedShapeSourceDataSource" class="nav-group-task-link" href="Protocols/MGLComputedShapeSourceDataSource.html">MGLComputedShapeSourceDataSource</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLOfflineStorageDelegate" data-url="Protocols/MGLOfflineStorageDelegate.html">
+ <a title="MGLOfflineStorageDelegate" class="nav-group-task-link" href="Protocols/MGLOfflineStorageDelegate.html">MGLOfflineStorageDelegate</a>
+ </li>
+ </ul>
+ </li>
+ <li class="nav-group-name" data-name="Other Type Definitions">
+ <a class="small-heading" href="Other Type Definitions.html">Other Type Definitions<span class="anchor-icon" /></a>
+ <ul class="nav-group-tasks">
+ <li class="nav-group-task" data-name="MGLMapSnapshotCompletionHandler" data-url="Other Type Definitions.html#/c:MGLMapSnapshotter.h@T@MGLMapSnapshotCompletionHandler">
+ <a title="MGLMapSnapshotCompletionHandler" class="nav-group-task-link" href="Other Type Definitions.html#/c:MGLMapSnapshotter.h@T@MGLMapSnapshotCompletionHandler">MGLMapSnapshotCompletionHandler</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLOfflinePackAdditionCompletionHandler" data-url="Other Type Definitions.html#/c:MGLOfflineStorage.h@T@MGLOfflinePackAdditionCompletionHandler">
+ <a title="MGLOfflinePackAdditionCompletionHandler" class="nav-group-task-link" href="Other Type Definitions.html#/c:MGLOfflineStorage.h@T@MGLOfflinePackAdditionCompletionHandler">MGLOfflinePackAdditionCompletionHandler</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLOfflinePackRemovalCompletionHandler" data-url="Other Type Definitions.html#/c:MGLOfflineStorage.h@T@MGLOfflinePackRemovalCompletionHandler">
+ <a title="MGLOfflinePackRemovalCompletionHandler" class="nav-group-task-link" href="Other Type Definitions.html#/c:MGLOfflineStorage.h@T@MGLOfflinePackRemovalCompletionHandler">MGLOfflinePackRemovalCompletionHandler</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLOfflinePackUserInfoKey" data-url="Other Type Definitions.html#/c:MGLOfflineStorage.h@T@MGLOfflinePackUserInfoKey">
+ <a title="MGLOfflinePackUserInfoKey" class="nav-group-task-link" href="Other Type Definitions.html#/c:MGLOfflineStorage.h@T@MGLOfflinePackUserInfoKey">MGLOfflinePackUserInfoKey</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLShapeSourceOption" data-url="Other Type Definitions.html#/c:MGLShapeSource.h@T@MGLShapeSourceOption">
+ <a title="MGLShapeSourceOption" class="nav-group-task-link" href="Other Type Definitions.html#/c:MGLShapeSource.h@T@MGLShapeSourceOption">MGLShapeSourceOption</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLTileSourceOption" data-url="Other Type Definitions.html#/c:MGLTileSource.h@T@MGLTileSourceOption">
+ <a title="MGLTileSourceOption" class="nav-group-task-link" href="Other Type Definitions.html#/c:MGLTileSource.h@T@MGLTileSourceOption">MGLTileSourceOption</a>
+ </li>
+ </ul>
+ </li>
+ <li class="nav-group-name" data-name="Other Functions">
+ <a class="small-heading" href="Other Functions.html">Other Functions<span class="anchor-icon" /></a>
+ <ul class="nav-group-tasks">
+ <li class="nav-group-task" data-name="MGLCoordinateQuadFromCoordinateBounds" data-url="Other Functions.html#/c:MGLGeometry.h@F@MGLCoordinateQuadFromCoordinateBounds">
+ <a title="MGLCoordinateQuadFromCoordinateBounds" class="nav-group-task-link" href="Other Functions.html#/c:MGLGeometry.h@F@MGLCoordinateQuadFromCoordinateBounds">MGLCoordinateQuadFromCoordinateBounds</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLCoordinateQuadMake" data-url="Other Functions.html#/c:MGLGeometry.h@F@MGLCoordinateQuadMake">
+ <a title="MGLCoordinateQuadMake" class="nav-group-task-link" href="Other Functions.html#/c:MGLGeometry.h@F@MGLCoordinateQuadMake">MGLCoordinateQuadMake</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLMapPointForCoordinate" data-url="Other Functions.html#/c:@F@MGLMapPointForCoordinate">
+ <a title="MGLMapPointForCoordinate" class="nav-group-task-link" href="Other Functions.html#/c:@F@MGLMapPointForCoordinate">MGLMapPointForCoordinate</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLMapPointMake" data-url="Other Functions.html#/c:MGLGeometry.h@F@MGLMapPointMake">
+ <a title="MGLMapPointMake" class="nav-group-task-link" href="Other Functions.html#/c:MGLGeometry.h@F@MGLMapPointMake">MGLMapPointMake</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLSphericalPositionMake" data-url="Other Functions.html#/c:MGLLight.h@F@MGLSphericalPositionMake">
+ <a title="MGLSphericalPositionMake" class="nav-group-task-link" href="Other Functions.html#/c:MGLLight.h@F@MGLSphericalPositionMake">MGLSphericalPositionMake</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLStringFromCoordinateQuad" data-url="Other Functions.html#/c:MGLGeometry.h@F@MGLStringFromCoordinateQuad">
+ <a title="MGLStringFromCoordinateQuad" class="nav-group-task-link" href="Other Functions.html#/c:MGLGeometry.h@F@MGLStringFromCoordinateQuad">MGLStringFromCoordinateQuad</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLTransitionMake" data-url="Other Functions.html#/c:MGLTypes.h@F@MGLTransitionMake">
+ <a title="MGLTransitionMake" class="nav-group-task-link" href="Other Functions.html#/c:MGLTypes.h@F@MGLTransitionMake">MGLTransitionMake</a>
+ </li>
+ </ul>
+ </li>
+ <li class="nav-group-name" data-name="Other Structures">
+ <a class="small-heading" href="Other Structures.html">Other Structures<span class="anchor-icon" /></a>
+ <ul class="nav-group-tasks">
+ <li class="nav-group-task" data-name="MGLCoordinateQuad" data-url="Structs/MGLCoordinateQuad.html">
+ <a title="MGLCoordinateQuad" class="nav-group-task-link" href="Structs/MGLCoordinateQuad.html">MGLCoordinateQuad</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLSphericalPosition" data-url="Structs/MGLSphericalPosition.html">
+ <a title="MGLSphericalPosition" class="nav-group-task-link" href="Structs/MGLSphericalPosition.html">MGLSphericalPosition</a>
+ </li>
+ <li class="nav-group-task" data-name="MGLTransition" data-url="Structs/MGLTransition.html">
+ <a title="MGLTransition" class="nav-group-task-link" href="Structs/MGLTransition.html">MGLTransition</a>
+ </li>
+ </ul>
+ </li>
+ </ul>
+ </nav>
+ <article class="main-content">
+
+ <section class="section">
+ <div class="section-content">
+
+ <h1 id='predicates-and-expressions' class='heading'>Predicates and expressions</h1>
+
+<p>Style layers use predicates and expressions to determine what to display and how
+to format it. <em>Predicates</em> are represented by the same <code>NSPredicate</code> class that
+filters results from Core Data or items in an <code>NSArray</code> in Objective-C.
+Predicates are based on <em>expressions</em>, represented by the <code>NSExpression</code> class.
+Somewhat unusually, style layers also use expressions on their own.</p>
+
+<p>This document discusses the specific subset of the predicate and expression
+syntax supported by this SDK. For a more general introduction to predicates and
+expressions, consult the
+<em><a href="https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/Predicates/AdditionalChapters/Introduction.html">Predicate Programming Guide</a></em>
+in Apple developer documentation.</p>
+<h2 id='using-predicates-to-filter-vector-data' class='heading'>Using predicates to filter vector data</h2>
+
+<p>Most style layer classes display <code><a href="Protocols/MGLFeature.html">MGLFeature</a></code> objects that you can show or hide
+based on the feature’s attributes. Use the <code><a href="Classes/MGLVectorStyleLayer.html#/c:objc(cs)MGLVectorStyleLayer(py)predicate">MGLVectorStyleLayer.predicate</a></code>
+property to include only the features in the source layer that satisfy a
+condition that you define.</p>
+<h3 id='operators' class='heading'>Operators</h3>
+
+<p>The following comparison operators are supported:</p>
+
+<table><thead>
+<tr>
+<th><code>NSPredicateOperatorType</code></th>
+<th>Format string syntax</th>
+</tr>
+</thead><tbody>
+<tr>
+<td><code>NSEqualToPredicateOperatorType</code></td>
+<td><code>key = value</code><br /><code>key == value</code></td>
+</tr>
+<tr>
+<td><code>NSGreaterThanOrEqualToPredicateOperatorType</code></td>
+<td><code>key &gt;= value</code><br /><code>key =&gt; value</code></td>
+</tr>
+<tr>
+<td><code>NSLessThanOrEqualToPredicateOperatorType</code></td>
+<td><code>key &lt;= value</code><br /><code>key =&lt; value</code></td>
+</tr>
+<tr>
+<td><code>NSGreaterThanPredicateOperatorType</code></td>
+<td><code>key &gt; value</code></td>
+</tr>
+<tr>
+<td><code>NSLessThanPredicateOperatorType</code></td>
+<td><code>key &lt; value</code></td>
+</tr>
+<tr>
+<td><code>NSNotEqualToPredicateOperatorType</code></td>
+<td><code>key != value</code><br /><code>key &lt;&gt; value</code></td>
+</tr>
+<tr>
+<td><code>NSBetweenPredicateOperatorType</code></td>
+<td><code>key BETWEEN { 32, 212 }</code></td>
+</tr>
+</tbody></table>
+
+<p>To test whether a feature has or lacks a specific attribute, compare the
+attribute to <code>NULL</code> or <code>NIL</code>. Predicates created using the
+<code>+[NSPredicate predicateWithValue:]</code> method are also supported. String
+operators and custom operators are not supported.</p>
+
+<p>The following compound operators are supported:</p>
+
+<table><thead>
+<tr>
+<th><code>NSCompoundPredicateType</code></th>
+<th>Format string syntax</th>
+</tr>
+</thead><tbody>
+<tr>
+<td><code>NSAndPredicateType</code></td>
+<td><code>predicate1 AND predicate2</code><br /><code>predicate1 &amp;&amp; predicate2</code></td>
+</tr>
+<tr>
+<td><code>NSOrPredicateType</code></td>
+<td><code>predicate1 OR predicate2</code><br /><code>predicate1 &vert;&vert; predicate2</code></td>
+</tr>
+<tr>
+<td><code>NSNotPredicateType</code></td>
+<td><code>NOT predicate</code><br /><code>!predicate</code></td>
+</tr>
+</tbody></table>
+
+<p>The following aggregate operators are supported:</p>
+
+<table><thead>
+<tr>
+<th><code>NSPredicateOperatorType</code></th>
+<th>Format string syntax</th>
+</tr>
+</thead><tbody>
+<tr>
+<td><code>NSInPredicateOperatorType</code></td>
+<td><code>key IN { &#39;iOS&#39;, &#39;macOS&#39;, &#39;tvOS&#39;, &#39;watchOS&#39; }</code></td>
+</tr>
+<tr>
+<td><code>NSContainsPredicateOperatorType</code></td>
+<td><code>{ &#39;iOS&#39;, &#39;macOS&#39;, &#39;tvOS&#39;, &#39;watchOS&#39; } CONTAINS key</code></td>
+</tr>
+</tbody></table>
+
+<p>The following comparison predicate options are supported for comparison and
+aggregate operators that are used in the predicate:</p>
+
+<table><thead>
+<tr>
+<th><code>NSComparisonPredicateOptions</code></th>
+<th>Format string syntax</th>
+</tr>
+</thead><tbody>
+<tr>
+<td><code>NSCaseInsensitivePredicateOption</code></td>
+<td><code>&#39;QUEBEC&#39; =[c] &#39;Quebec&#39;</code></td>
+</tr>
+<tr>
+<td><code>NSDiacriticInsensitivePredicateOption</code></td>
+<td><code>&#39;Québec&#39; =[d] &#39;Quebec&#39;</code></td>
+</tr>
+</tbody></table>
+
+<p>Other comparison predicate options are unsupported, namely <code>l</code>
+(for locale sensitivity) and <code>n</code> (for normalization). A comparison is
+locale-sensitive as long as it is case- or diacritic-insensitive.</p>
+<h3 id='operands' class='heading'>Operands</h3>
+
+<p>Operands in predicates can be <a href="#variables">variables</a>, <a href="#key-paths">key paths</a>,
+or almost anything else that can appear
+<a href="#using-expressions-to-configure-layout-and-paint-attributes">inside an expression</a>.</p>
+
+<p>Automatic type casting is not performed. Therefore, a feature only matches a
+predicate if its value for the attribute in question is of the same type as the
+value specified in the predicate. Use the <code>CAST()</code> operator to convert a key
+path or variable into a matching type:</p>
+
+<ul>
+<li>To cast a value to a number, use <code>CAST(key, &#39;NSNumber&#39;)</code>.</li>
+<li>To cast a value to a string, use <code>CAST(key, &#39;NSString&#39;)</code>.</li>
+<li>To cast a value to a color, use <code>CAST(key, &#39;UIColor&#39;)</code> on iOS and <code>CAST(key, &#39;NSColor&#39;)</code> on macOS.</li>
+<li>To cast an <code>NSColor</code> or <code>UIColor</code> object to an array, use <code>CAST(noindex(color), &#39;NSArray&#39;)</code>.</li>
+</ul>
+
+<p>For details about the predicate format string syntax, consult the “Predicate
+Format String Syntax” chapter of the
+<em><a href="https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/Predicates/AdditionalChapters/Introduction.html">Predicate Programming Guide</a></em>
+in Apple developer documentation.</p>
+<h2 id='using-expressions-to-configure-layout-and-paint-attributes' class='heading'>Using expressions to configure layout and paint attributes</h2>
+
+<p>An expression can contain subexpressions of various types. Each of the supported
+types of expressions is discussed below.</p>
+<h3 id='constant-values' class='heading'>Constant values</h3>
+
+<p>A constant value can be of any of the following types:</p>
+
+<table><thead>
+<tr>
+<th>In Objective-C</th>
+<th>In Swift</th>
+</tr>
+</thead><tbody>
+<tr>
+<td><code>NSColor</code> (macOS)<br><code>UIColor</code> (iOS)</td>
+<td><code>NSColor</code> (macOS)<br><code>UIColor</code> (iOS)</td>
+</tr>
+<tr>
+<td><code>NSString</code></td>
+<td><code>String</code></td>
+</tr>
+<tr>
+<td><code>NSString</code></td>
+<td><code>String</code></td>
+</tr>
+<tr>
+<td><code>NSNumber.boolValue</code></td>
+<td><code>NSNumber.boolValue</code></td>
+</tr>
+<tr>
+<td><code>NSNumber.doubleValue</code></td>
+<td><code>NSNumber.doubleValue</code></td>
+</tr>
+<tr>
+<td><code>NSArray&lt;NSNumber&gt;</code></td>
+<td><code>[Float]</code></td>
+</tr>
+<tr>
+<td><code>NSArray&lt;NSString&gt;</code></td>
+<td><code>[String]</code></td>
+</tr>
+<tr>
+<td><code>NSValue.CGVectorValue</code> (iOS)<br><code>NSValue</code> containing <code>CGVector</code> (macOS)</td>
+<td><code>NSValue.cgVectorValue</code> (iOS)<br><code>NSValue</code> containing <code>CGVector</code> (macOS)</td>
+</tr>
+<tr>
+<td><code>NSValue.UIEdgeInsetsValue</code> (iOS)<br><code>NSValue.edgeInsetsValue</code> (macOS)</td>
+<td><code>NSValue.uiEdgeInsetsValue</code> (iOS)<br><code>NSValue.edgeInsetsValue</code> (macOS)</td>
+</tr>
+</tbody></table>
+
+<p>For literal floating-point values, use <code>-[NSNumber numberWithDouble:]</code> instead
+of <code>-[NSNumber numberWithFloat:]</code> to avoid precision issues.</p>
+<h3 id='key-paths' class='heading'>Key paths</h3>
+
+<p>A key path expression refers to an attribute of the <code><a href="Protocols/MGLFeature.html">MGLFeature</a></code> object being
+evaluated for display. For example, if a polygon’s <code><a href="Protocols/MGLFeature.html#/c:objc(pl)MGLFeature(py)attributes">MGLFeature.attributes</a></code>
+dictionary contains the <code>floorCount</code> key, then the key path <code>floorCount</code> refers
+to the value of the <code>floorCount</code> attribute when evaluating that particular
+polygon.</p>
+
+<p>The following special attribute is also available on features that are produced
+as a result of clustering multiple point features together in a shape source:</p>
+
+<table>
+<thead>
+<tr><th>Attribute</th><th>Type</th><th>Meaning</th></tr>
+</thead>
+<tbody>
+<tr>
+ <td><code>point_count</code></td>
+ <td>Number</td>
+ <td>The number of point features in a given cluster.</td>
+</tr>
+</tbody>
+</table>
+
+<p>Some characters may not be used directly as part of a key path in a format
+string. For example, if a feature’s attribute is named <code>ISO 3166-1:2006</code>, an
+expression format string of <code>lowercase(ISO 3166-1:2006)</code> or a predicate format
+string of <code>ISO 3166-1:2006 == &#39;US-OH&#39;</code> would raise an exception. Instead, use a
+<code>%K</code> placeholder or the <code>+[NSExpression expressionForKeyPath:]</code> initializer:</p>
+<pre class="highlight objective_c"><code><span class="p">[</span><span class="n">NSPredicate</span> <span class="nf">predicateWithFormat</span><span class="p">:</span><span class="s">@"%K == 'US-OH'"</span><span class="p">,</span> <span class="s">@"ISO 3166-1:2006"</span><span class="p">];</span>
+<span class="p">[</span><span class="n">NSExpression</span> <span class="nf">expressionForFunction</span><span class="p">:</span><span class="s">@"lowercase:"</span>
+ <span class="nf">arguments</span><span class="p">:@[[</span><span class="n">NSExpression</span> <span class="nf">expressionForKeyPath</span><span class="p">:</span><span class="s">@"ISO 3166-1:2006"</span><span class="p">]]]</span>
+</code></pre>
+<pre class="highlight swift"><code><span class="kt">NSPredicate</span><span class="p">(</span><span class="nv">format</span><span class="p">:</span> <span class="s">"%K == 'US-OH'"</span><span class="p">,</span> <span class="s">"ISO 3166-1:2006"</span><span class="p">)</span>
+<span class="kt">NSExpression</span><span class="p">(</span><span class="nv">forFunction</span><span class="p">:</span> <span class="s">"lowercase:"</span><span class="p">,</span>
+ <span class="nv">arguments</span><span class="p">:</span> <span class="p">[</span><span class="kt">NSExpression</span><span class="p">(</span><span class="nv">forKeyPath</span><span class="p">:</span> <span class="s">"ISO 3166-1:2006"</span><span class="p">)])</span>
+</code></pre>
+<h3 id='functions' class='heading'>Functions</h3>
+
+<p>Of the
+<a href="https://developer.apple.com/documentation/foundation/nsexpression/1413747-init#discussion">functions predefined</a>
+by the
+<a href="https://developer.apple.com/documentation/foundation/nsexpression/1413747-init"><code>+[NSExpression expressionForFunction:arguments:]</code> method</a>,
+the following subset is supported in layer attribute values:</p>
+
+<table><thead>
+<tr>
+<th>Initializer parameter</th>
+<th>Format string syntax</th>
+</tr>
+</thead><tbody>
+<tr>
+<td><code>average:</code></td>
+<td><code>average({1, 2, 2, 3, 4, 7, 9})</code></td>
+</tr>
+<tr>
+<td><code>sum:</code></td>
+<td><code>sum({1, 2, 2, 3, 4, 7, 9})</code></td>
+</tr>
+<tr>
+<td><code>count:</code></td>
+<td><code>count({1, 2, 2, 3, 4, 7, 9})</code></td>
+</tr>
+<tr>
+<td><code>min:</code></td>
+<td><code>min({1, 2, 2, 3, 4, 7, 9})</code></td>
+</tr>
+<tr>
+<td><code>max:</code></td>
+<td><code>max({1, 2, 2, 3, 4, 7, 9})</code></td>
+</tr>
+<tr>
+<td><code>add:to:</code></td>
+<td><code>1 + 2</code></td>
+</tr>
+<tr>
+<td><code>from:subtract:</code></td>
+<td><code>2 - 1</code></td>
+</tr>
+<tr>
+<td><code>multiply:by:</code></td>
+<td><code>1 * 2</code></td>
+</tr>
+<tr>
+<td><code>divide:by:</code></td>
+<td><code>1 / 2</code></td>
+</tr>
+<tr>
+<td><code>modulus:by:</code></td>
+<td><code>modulus:by:(1, 2)</code></td>
+</tr>
+<tr>
+<td><code>sqrt:</code></td>
+<td><code>sqrt(2)</code></td>
+</tr>
+<tr>
+<td><code>log:</code></td>
+<td><code>log(10)</code></td>
+</tr>
+<tr>
+<td><code>ln:</code></td>
+<td><code>ln(2)</code></td>
+</tr>
+<tr>
+<td><code>raise:toPower:</code></td>
+<td><code>2 ** 2</code></td>
+</tr>
+<tr>
+<td><code>exp:</code></td>
+<td><code>exp(0)</code></td>
+</tr>
+<tr>
+<td><code>ceiling:</code></td>
+<td><code>ceiling(0.99999)</code></td>
+</tr>
+<tr>
+<td><code>abs:</code></td>
+<td><code>abs(-1)</code></td>
+</tr>
+<tr>
+<td><code>trunc:</code></td>
+<td><code>trunc(6378.1370)</code></td>
+</tr>
+<tr>
+<td><code>floor:</code></td>
+<td><code>floor(-0.99999)</code></td>
+</tr>
+<tr>
+<td><code>uppercase:</code></td>
+<td><code>uppercase(&#39;Elysian Fields&#39;)</code></td>
+</tr>
+<tr>
+<td><code>lowercase:</code></td>
+<td><code>lowercase(&#39;DOWNTOWN&#39;)</code></td>
+</tr>
+<tr>
+<td><code>noindex:</code></td>
+<td><code>noindex(0 + 2 + c)</code></td>
+</tr>
+<tr>
+<td><code>length:</code></td>
+<td><code>length(&#39;Wapakoneta&#39;)</code></td>
+</tr>
+<tr>
+<td><code>castObject:toType:</code></td>
+<td><code>CAST(ele, &#39;NSString&#39;)</code><br><code>CAST(ele, &#39;NSNumber&#39;)</code></td>
+</tr>
+</tbody></table>
+
+<p>A number of <a href="#mapbox-specific-functions">Mapbox-specific functions</a> are also
+available.</p>
+
+<p>The following predefined functions are <strong>not</strong> supported:</p>
+
+<table><thead>
+<tr>
+<th>Initializer parameter</th>
+<th>Format string syntax</th>
+</tr>
+</thead><tbody>
+<tr>
+<td><code>median:</code></td>
+<td><code>median({1, 2, 2, 3, 4, 7, 9})</code></td>
+</tr>
+<tr>
+<td><code>mode:</code></td>
+<td><code>mode({1, 2, 2, 3, 4, 7, 9})</code></td>
+</tr>
+<tr>
+<td><code>stddev:</code></td>
+<td><code>stddev({1, 2, 2, 3, 4, 7, 9})</code></td>
+</tr>
+<tr>
+<td><code>random</code></td>
+<td><code>random()</code></td>
+</tr>
+<tr>
+<td><code>randomn:</code></td>
+<td><code>randomn(10)</code></td>
+</tr>
+<tr>
+<td><code>now</code></td>
+<td><code>now()</code></td>
+</tr>
+<tr>
+<td><code>bitwiseAnd:with:</code></td>
+<td><code>bitwiseAnd:with:(5, 3)</code></td>
+</tr>
+<tr>
+<td><code>bitwiseOr:with:</code></td>
+<td><code>bitwiseOr:with:(5, 3)</code></td>
+</tr>
+<tr>
+<td><code>bitwiseXor:with:</code></td>
+<td><code>bitwiseXor:with:(5, 3)</code></td>
+</tr>
+<tr>
+<td><code>leftshift:by:</code></td>
+<td><code>leftshift:by:(23, 1)</code></td>
+</tr>
+<tr>
+<td><code>rightshift:by:</code></td>
+<td><code>rightshift:by:(23, 1)</code></td>
+</tr>
+<tr>
+<td><code>onesComplement:</code></td>
+<td><code>onesComplement(255)</code></td>
+</tr>
+<tr>
+<td><code>distanceToLocation:fromLocation:</code></td>
+<td><code>distanceToLocation:fromLocation:(there, here)</code></td>
+</tr>
+</tbody></table>
+<h3 id='conditionals' class='heading'>Conditionals</h3>
+
+<p>Conditionals are supported via the built-in
+<code>+[NSExpression expressionForConditional:trueExpression:falseExpression:]</code>
+method and <code>TERNARY()</code> operator. If you need to express multiple cases
+(“else-if”), you can either nest a conditional within a conditional or use the
+<a href="#code-mgl_if-code"><code>MGL_IF()</code></a> or <a href="#code-mgl_match-code"><code>MGL_MATCH()</code></a> function.</p>
+<h3 id='aggregates' class='heading'>Aggregates</h3>
+
+<p>Aggregate expressions can contain arrays of expressions. In some cases, it is
+possible to use the array itself instead of wrapping the array in an aggregate
+expression.</p>
+<h3 id='variables' class='heading'>Variables</h3>
+
+<p>The following variables are defined by this SDK for use with style layers:</p>
+
+<table>
+<thead>
+<tr><th>Variable</th><th>Type</th><th>Meaning</th></tr>
+</thead>
+<tbody>
+<tr>
+ <td><code>$featureIdentifier</code></td>
+ <td>
+ Any
+ <a href="working-with-geojson-data.html#about-geojson-deserialization">GeoJSON data type</a>
+ </td>
+ <td>
+ A value that uniquely identifies the feature in the containing source.
+ This variable corresponds to the
+ <code>NSExpression.featureIdentifierVariableExpression</code> property.
+ </td>
+</tr>
+<tr>
+ <td><code>$geometryType</code></td>
+ <td>String</td>
+ <td>
+ The type of geometry represented by the feature. A feature’s type is one
+ of the following strings:
+ <ul>
+ <li>
+ <code>Point</code> for point features, corresponding to the
+ <code><a href="Classes/MGLPointAnnotation.html">MGLPointAnnotation</a></code> class
+ </li>
+ <li>
+ <code>LineString</code> for polyline features, corresponding to
+ the <code><a href="Classes/MGLPolyline.html">MGLPolyline</a></code> class
+ </li>
+ <li>
+ <code>Polygon</code> for polygon features, corresponding to the
+ <code><a href="Classes/MGLPolygon.html">MGLPolygon</a></code> class
+ </li>
+ </ul>
+ This variable corresponds to the
+ <code>NSExpression.geometryTypeVariableExpression</code> property.
+ </td>
+</tr>
+<tr>
+ <td><code>$heatmapDensity</code></td>
+ <td>Number</td>
+ <td>
+ The
+ <a href="https://en.wikipedia.org/wiki/Kernel_density_estimation">kernel density estimation</a>
+ of a screen point in a heatmap layer; in other words, a relative measure
+ of how many data points are crowded around a particular pixel. This
+ variable can only be used with the <code>heatmapColor</code> property.
+ This variable corresponds to the
+ <code>NSExpression.heatmapDensityVariableExpression</code> property.
+ </td>
+</tr>
+<tr>
+ <td><code>$zoomLevel</code></td>
+ <td>Number</td>
+ <td>
+ The current zoom level. In style layout and paint properties, this
+ variable may only appear as the target of a top-level interpolation or
+ step expression. This variable corresponds to the
+ <code>NSExpression.zoomLevelVariableExpression</code> property.
+ </td>
+</tr>
+</tbody>
+</table>
+
+<p>In addition to these variables, you can define your own variables and refer to
+them elsewhere in the expression. The syntax for defining a variable makes use
+of a <a href="#mapbox-specific-functions">Mapbox-specific function</a> that takes an
+<code>NSDictionary</code> as an argument:</p>
+<pre class="highlight objective_c"><code><span class="p">[</span><span class="n">NSExpression</span> <span class="nf">expressionWithFormat</span><span class="p">:</span><span class="s">@"MGL_LET('floorCount', 2, $floorCount + 1)"</span><span class="p">];</span>
+</code></pre>
+<pre class="highlight swift"><code><span class="kt">NSExpression</span><span class="p">(</span><span class="nv">format</span><span class="p">:</span> <span class="s">"MGL_LET(floorCount, 2, $floorCount + 1)"</span><span class="p">)</span>
+</code></pre>
+<h2 id='mapbox-specific-functions' class='heading'>Mapbox-specific functions</h2>
+
+<p>For compatibility with the Mapbox Style Specification, the following functions
+are defined by this SDK. When setting a style layer property, you can call these
+functions just like the predefined functions above, using either the
+<code>+[NSExpression expressionForFunction:arguments:]</code> method or a convenient format
+string syntax:</p>
+<h3 id='code-mgl_does-have-code' class='heading'><code>mgl_does:have:</code></h3>
+
+<dl>
+<dt>Selector:</dt>
+<dd><code>mgl_does:have:</code></dd>
+<dt>Format string syntax:</dt>
+<dd><code>mgl_does:have:(SELF, '🧀🍔')</code> or <code>mgl_does:have:(%@, '🧀🍔')</code></dd>
+</dl>
+
+<p>Returns a Boolean value indicating whether the dictionary has a value for the
+key or whether the evaluated object (<code>SELF</code>) has a value for the feature
+attribute. Compared to the <a href="#code-mgl_has-code"><code>mgl_has:</code></a> custom function,
+that function’s target is instead passed in as the first argument to this
+function. Both functions are equivalent to the syntax <code>key != NIL</code> or
+<code>%@[key] != NIL</code> but can be used outside of a predicate.</p>
+<h3 id='code-mgl_interpolate-withcurvetype-parameters-stops-code' class='heading'><code>mgl_interpolate:withCurveType:parameters:stops:</code></h3>
+
+<dl>
+<dt>Selector:</dt>
+<dd><code>mgl_interpolate:withCurveType:parameters:stops:</code></dd>
+<dt>Format string syntax:</dt>
+<dd><code>mgl_interpolate:withCurveType:parameters:stops:(x, 'linear', nil, %@)</code></dd>
+</dl>
+
+<p>Produces continuous, smooth results by interpolating between pairs of input and
+output values (“stops”). Compared to the
+<a href="#code-mgl_interpolatewithcurvetype-parameters-stops-code"><code>mgl_interpolateWithCurveType:parameters:stops:</code></a>
+custom function, the input expression (that function’s target) is instead passed
+in as the first argument to this function.</p>
+<h3 id='code-mgl_step-from-stops-code' class='heading'><code>mgl_step:from:stops:</code></h3>
+
+<dl>
+<dt>Selector:</dt>
+<dd><code>mgl_step:from:stops:</code></dd>
+<dt>Format string syntax:</dt>
+<dd><code>mgl_step:from:stops:(x, 11, %@)</code></dd>
+</dl>
+
+<p>Produces discrete, stepped results by evaluating a piecewise-constant function
+defined by pairs of input and output values (<q>stops</q>). Compared to the
+<a href="#code-mgl_stepwithminimum-stops-code"><code>mgl_stepWithMinimum:stops:</code></a> custom
+function, the input expression (that function’s target) is instead passed in as
+the first argument to this function.</p>
+<h3 id='code-mgl_join-code' class='heading'><code>mgl_join:</code></h3>
+
+<dl>
+<dt>Selector:</dt>
+<dd><code>mgl_join:</code></dd>
+<dt>Format string syntax:</dt>
+<dd><code>mgl_join({'Old', 'MacDonald'})</code></dd>
+</dl>
+
+<p>Returns the result of concatenating together all the elements of an array in
+order. Compared to the
+<a href="#code-stringbyappendingstring-code"><code>stringByAppendingString:</code></a> custom
+function, this function takes only one argument, which is an aggregate
+expression containing the strings to concatenate.</p>
+<h3 id='code-mgl_acos-code' class='heading'><code>mgl_acos:</code></h3>
+
+<dl>
+<dt>Selector:</dt>
+<dd><code>mgl_acos:</code></dd>
+<dt>Format string syntax:</dt>
+<dd><code>mgl_acos(1)</code></dd>
+</dl>
+
+<p>Returns the arccosine of the number.</p>
+
+<p>This function corresponds to the
+<a href="https://www.mapbox.com/mapbox-gl-js/style-spec/#expressions-acos"><code>acos</code></a>
+operator in the Mapbox Style Specification.</p>
+<h3 id='code-mgl_asin-code' class='heading'><code>mgl_asin:</code></h3>
+
+<dl>
+<dt>Selector:</dt>
+<dd><code>mgl_asin:</code></dd>
+<dt>Format string syntax:</dt>
+<dd><code>mgl_asin(0)</code></dd>
+</dl>
+
+<p>Returns the arcsine of the number.</p>
+
+<p>This function corresponds to the
+<a href="https://www.mapbox.com/mapbox-gl-js/style-spec/#expressions-asin"><code>asin</code></a>
+operator in the Mapbox Style Specification.</p>
+<h3 id='code-mgl_atan-code' class='heading'><code>mgl_atan:</code></h3>
+
+<dl>
+<dt>Selector:</dt>
+<dd><code>mgl_atan:</code></dd>
+<dt>Format string syntax:</dt>
+<dd><code>mgl_atan(20)</code></dd>
+</dl>
+
+<p>Returns the arctangent of the number.</p>
+
+<p>This function corresponds to the
+<a href="https://www.mapbox.com/mapbox-gl-js/style-spec/#expressions-atan"><code>atan</code></a>
+operator in the Mapbox Style Specification.</p>
+<h3 id='code-mgl_cos-code' class='heading'><code>mgl_cos:</code></h3>
+
+<dl>
+<dt>Selector:</dt>
+<dd><code>mgl_cos:</code></dd>
+<dt>Format string syntax:</dt>
+<dd><code>mgl_cos(0)</code></dd>
+</dl>
+
+<p>Returns the cosine of the number.</p>
+
+<p>This function corresponds to the
+<a href="https://www.mapbox.com/mapbox-gl-js/style-spec/#expressions-cos"><code>cos</code></a>
+operator in the Mapbox Style Specification.</p>
+<h3 id='code-mgl_log2-code' class='heading'><code>mgl_log2:</code></h3>
+
+<dl>
+<dt>Selector:</dt>
+<dd><code>mgl_log2:</code></dd>
+<dt>Format string syntax:</dt>
+<dd><code>mgl_log2(1024)</code></dd>
+</dl>
+
+<p>Returns the base-2 logarithm of the number.</p>
+
+<p>This function corresponds to the
+<a href="https://www.mapbox.com/mapbox-gl-js/style-spec/#expressions-log2"><code>log2</code></a>
+operator in the Mapbox Style Specification.</p>
+<h3 id='code-mgl_round-code' class='heading'><code>mgl_round:</code></h3>
+
+<dl>
+<dt>Selector:</dt>
+<dd><code>mgl_round:</code></dd>
+<dt>Format string syntax:</dt>
+<dd><code>mgl_round(1.5)</code></dd>
+</dl>
+
+<p>Returns the number rounded to the nearest integer. If the number is halfway
+between two integers, this function rounds it away from zero.</p>
+
+<p>This function corresponds to the
+<a href="https://www.mapbox.com/mapbox-gl-js/style-spec/#expressions-round"><code>round</code></a>
+operator in the Mapbox Style Specification.</p>
+<h3 id='code-mgl_sin-code' class='heading'><code>mgl_sin:</code></h3>
+
+<dl>
+<dt>Selector:</dt>
+<dd><code>mgl_sin:</code></dd>
+<dt>Format string syntax:</dt>
+<dd><code>mgl_sin(0)</code></dd>
+</dl>
+
+<p>Returns the sine of the number.</p>
+
+<p>This function corresponds to the
+<a href="https://www.mapbox.com/mapbox-gl-js/style-spec/#expressions-sin"><code>sin</code></a>
+operator in the Mapbox Style Specification.</p>
+<h3 id='code-mgl_tan-code' class='heading'><code>mgl_tan:</code></h3>
+
+<dl>
+<dt>Selector:</dt>
+<dd><code>mgl_tan:</code></dd>
+<dt>Format string syntax:</dt>
+<dd><code>mgl_tan(0)</code></dd>
+</dl>
+
+<p>Returns the tangent of the number.</p>
+
+<p>This function corresponds to the
+<a href="https://www.mapbox.com/mapbox-gl-js/style-spec/#expressions-tan"><code>tan</code></a>
+operator in the Mapbox Style Specification.</p>
+<h3 id='code-mgl_coalesce-code' class='heading'><code>mgl_coalesce:</code></h3>
+
+<dl>
+<dt>Selector:</dt>
+<dd><code>mgl_coalesce:</code></dd>
+<dt>Format string syntax:</dt>
+<dd><code>mgl_coalesce({x, y, z})</code></dd>
+</dl>
+
+<p>Returns the first non-<code>nil</code> value from an array of expressions.</p>
+
+<p>This function corresponds to the
+<a href="https://www.mapbox.com/mapbox-gl-js/style-spec/#expressions-coalesce"><code>coalesce</code></a>
+operator in the Mapbox Style Specification.</p>
+<h3 id='code-mgl_let-code' class='heading'><code>MGL_LET</code></h3>
+
+<dl>
+<dt>Selector:</dt>
+<dd><code>MGL_LET:</code></dd>
+<dt>Format string syntax:</dt>
+<dd><code>MGL_LET('age', uppercase('old'), 'name', uppercase('MacDonald'), mgl_join({$age, $name}))</code></dd>
+<dt>Arguments:</dt>
+<dd>
+ Any number of variable names interspersed with their assigned
+ <code>NSExpression</code> values, followed by an <code>NSExpression</code>
+ that may contain references to those variables.
+</dd>
+</dl>
+
+<p>Returns the result of evaluating an expression with the given variable values.
+Compared to the
+<a href="#code-mgl_expressionwithcontext-code"><code>mgl_expressionWithContext:</code></a> custom
+function, this function takes the variable names and values inline before the
+expression that contains references to those variables.</p>
+<h3 id='code-mgl_match-code' class='heading'><code>MGL_MATCH</code></h3>
+
+<dl>
+<dt>Selector:</dt>
+<dd><code>MGL_MATCH:</code></dd>
+<dt>Format string syntax:</dt>
+<dd><code>MGL_MATCH(x, 0, 'zero match', 1, 'one match', 2, 'two match', 'default')</code></dd>
+<dt>Arguments:</dt>
+<dd>
+ An input expression, then any number of argument pairs, followed by a default
+ expression. Each argument pair consists of a constant value followed by an
+ expression to produce as a result of matching that constant value.
+ If the input value is an aggregate expression, then any of the constant values within
+ that aggregate expression result in the following argument. This is shorthand for
+ specifying an argument pair for each of the constant values within that aggregate
+ expression. It is not possible to match the aggregate expression itself.
+</dd>
+</dl>
+
+<p>Returns the result of matching the input expression against the given constant
+values.</p>
+
+<p>This function corresponds to the
+<code><a href="Categories/NSExpression(MGLAdditions).html#/c:objc(cs)NSExpression(cm)mgl_expressionForMatchingExpression:inDictionary:defaultExpression:">+[NSExpression(MGLAdditions) mgl_expressionForMatchingExpression:inDictionary:defaultExpression:]</a></code>
+method and the
+<a href="https://www.mapbox.com/mapbox-gl-js/style-spec/#expressions-match"><code>match</code></a>
+operator in the Mapbox Style Specification.</p>
+<h3 id='code-mgl_if-code' class='heading'><code>MGL_IF</code></h3>
+
+<dl>
+<dt>Selector:</dt>
+<dd><code>MGL_IF:</code></dd>
+<dt>Format string syntax:</dt>
+<dd><code>MGL_IF(1 = 2, YES, 2 = 2, YES, NO)</code></dd>
+<dt>Arguments:</dt>
+<dd>
+ Alternating <code>NSPredicate</code> conditionals and resulting expressions,
+ followed by a default expression.
+</dd>
+</dl>
+
+<p>Returns the first expression that meets the condition; otherwise, the default
+value. Unlike
+<code>+[NSExpression expressionForConditional:trueExpression:falseExpression:]</code> or
+the <code>TERNARY()</code> syntax, this function can accept multiple “if else” conditions
+and is supported on iOS 8.<em>x</em> and macOS 10.10.<em>x</em>; however, each conditional
+passed into this function must be wrapped in a constant expression.</p>
+
+<p>This function corresponds to the
+<code><a href="Categories/NSExpression(MGLAdditions).html#/c:objc(cs)NSExpression(cm)mgl_expressionForConditional:trueExpression:falseExpresssion:">+[NSExpression(MGLAdditions) mgl_expressionForConditional:trueExpression:falseExpresssion:]</a></code>
+method and the
+<a href="https://www.mapbox.com/mapbox-gl-js/style-spec/#expressions-case"><code>case</code></a>
+operator in the Mapbox Style Specification.</p>
+<h3 id='code-mgl_function-code' class='heading'><code>MGL_FUNCTION</code></h3>
+
+<dl>
+<dt>Selector:</dt>
+<dd><code>MGL_FUNCTION:</code></dd>
+<dt>Format string syntax:</dt>
+<dd><code>MGL_FUNCTION('typeof', mystery)</code></dd>
+<dt>Arguments:</dt>
+<dd>
+ Any arguments required by the expression operator.
+</dd>
+</dl>
+
+<p>An expression exactly as defined by the
+<a href="https://www.mapbox.com/mapbox-gl-js/style-spec/#expressions">Mapbox Style Specification</a>.</p>
+<h2 id='custom-functions' class='heading'>Custom functions</h2>
+
+<p>The following custom functions are also available with the
+<code>+[NSExpression expressionForFunction:selectorName:arguments:]</code> method or the
+<code>FUNCTION()</code> format string syntax.</p>
+
+<p>Some of these functions are defined as methods on their respective target
+classes, but you should not call them directly outside the context of an
+expression, because the result may differ from the evaluated expression’s result
+or may result in undefined behavior.</p>
+
+<p>The Mapbox Style Specification defines some operators for which no custom
+function is available. To use these operators in an <code>NSExpression</code>, call the
+<a href="#code-mgl_function-code"><code>MGL_FUNCTION()</code></a> function with the same arguments
+that the operator expects.</p>
+<h3 id='code-boolvalue-code' class='heading'><code>boolValue</code></h3>
+
+<dl>
+<dt>Selector:</dt>
+<dd><code>boolValue</code></dd>
+<dt>Format string syntax:</dt>
+<dd><code>FUNCTION(1, 'boolValue')</code></dd>
+<dt>Target:</dt>
+<dd>
+ An <code>NSExpression</code> that evaluates to a number or string.
+</dd>
+<dt>Arguments:</dt>
+<dd>None.</dd>
+</dl>
+
+<p>A Boolean representation of the target: <code>FALSE</code> when then input is an
+empty string, 0, <code>FALSE</code>, <code>NIL</code>, or <code>NaN</code>,
+otherwise <code>TRUE</code>.</p>
+<h3 id='code-mgl_has-code' class='heading'><code>mgl_has:</code></h3>
+
+<dl>
+<dt>Selector:</dt>
+<dd><code>mgl_has:</code></dd>
+<dt>Format string syntax:</dt>
+<dd><code>FUNCTION($featureAttributes, 'mgl_has:', '🧀🍔')</code></dd>
+<dt>Target:</dt>
+<dd>
+ An <code>NSExpression</code> that evaluates to an <code>NSDictionary</code>
+ or the evaluated object (<code>SELF</code>).
+</dd>
+<dt>Arguments:</dt>
+<dd>
+ An <code>NSExpression</code> that evaluates to an <code>NSString</code>
+ representing the key to look up in the dictionary or the feature attribute to
+ look up in the evaluated object (see <code><a href="Protocols/MGLFeature.html#/c:objc(pl)MGLFeature(py)attributes">MGLFeature.attributes</a></code>).
+</dd>
+</dl>
+
+<p><code>true</code> if the dictionary has a value for the key or if the evaluated
+object has a value for the feature attribute.</p>
+
+<p>This function corresponds to the
+<a href="https://www.mapbox.com/mapbox-gl-js/style-spec/#expressions-has"><code>has</code></a>
+operator in the Mapbox Style Specification. See also the
+<a href="#code-mgl_does-have-code"><code>mgl_does:have:</code></a> function, which is used on its own
+without the <code>FUNCTION()</code> operator. You can also check whether an object has an
+attribute by comparing the key path to <code>NIL</code>, for example <code>cheeseburger != NIL</code>
+or <code>burger.cheese != NIL</code></p>
+<h3 id='code-mgl_expressionwithcontext-code' class='heading'><code>mgl_expressionWithContext:</code></h3>
+
+<dl>
+<dt>Selector:</dt>
+<dd><code>mgl_expressionWithContext:</code></dd>
+<dt>Format string syntax:</dt>
+<dd>
+ <code>FUNCTION($ios + $macos, 'mgl_expressionWithContext:', %@)</code> with
+ a dictionary containing <code>ios</code> and <code>macos</code> keys
+</dd>
+<dt>Target:</dt>
+<dd>
+ An <code>NSExpression</code> that may contain references to the variables
+ defined in the context dictionary.
+</dd>
+<dt>Arguments:</dt>
+<dd>
+ An <code>NSDictionary</code> with <code>NSString</code>s as keys and
+ <code>NSExpression</code>s as values. Each key is a variable name and each
+ value is the variable’s value within the target expression.
+</dd>
+</dl>
+
+<p>The target expression with variable subexpressions replaced with the values
+defined in the context dictionary.</p>
+
+<p>This function corresponds to the
+<a href="https://www.mapbox.com/mapbox-gl-js/style-spec/#expressions-let"><code>let</code></a>
+operator in the Mapbox Style Specification. See also the
+<a href="#code-mgl_let-code"><code>MGL_LET</code></a> function, which is used on its own without the
+<code>FUNCTION()</code> operator.</p>
+<h3 id='code-mgl_interpolatewithcurvetype-parameters-stops-code' class='heading'><code>mgl_interpolateWithCurveType:parameters:stops:</code></h3>
+
+<dl>
+<dt>Selector:</dt>
+<dd><code>mgl_interpolateWithCurveType:parameters:stops:</code></dd>
+<dt>Format string syntax:</dt>
+<dd>
+ <code>FUNCTION($zoomLevel, 'mgl_interpolateWithCurveType:parameters:stops:', 'linear', NIL, %@)</code>
+ with a dictionary containing zoom levels or other constant values as keys
+</dd>
+<dt>Target:</dt>
+<dd>
+ An <code>NSExpression</code> that evaluates to a number and contains a
+ variable or key path expression.
+</dd>
+<dt>Arguments:</dt>
+<dd>
+ The first argument is one of the following strings denoting curve types:
+ <code>linear</code>, <code>exponential</code>, or <code>cubic-bezier</code>.
+
+ The second argument is an expression providing parameters for the curve:
+
+ <ul>
+ <li>If the curve type is <code>linear</code>, the argument is <code>NIL</code>.</li>
+ <li>
+ If the curve type is <code>exponential</code>, the argument is an
+ expression that evaluates to a number, specifying the base of the
+ exponential interpolation.
+ </li>
+ <li>
+ If the curve type is <code>cubic-bezier</code>, the argument is an
+ array or aggregate expression containing four expressions, each
+ evaluating to a number. The four numbers are control points for the
+ cubic Bézier curve.
+ </li>
+ </ul>
+
+ The third argument is an <code>NSDictionary</code> object representing the
+ interpolation’s stops, with numeric zoom levels as keys and expressions as
+ values.
+</dd>
+</dl>
+
+<p>A value interpolated along the continuous mathematical function defined by the
+arguments, with the target as the input to the function.</p>
+
+<p>The input expression is matched against the keys in the stop dictionary. The
+keys may be feature attribute values, zoom levels, or heatmap densities. The
+values may be constant values or <code>NSExpression</code> objects. For example, you can
+use a stop dictionary with the zoom levels 0, 10, and 20 as keys and the colors
+yellow, orange, and red as the values.</p>
+
+<p>This function corresponds to the
+<code><a href="Categories/NSExpression(MGLAdditions).html#/c:objc(cs)NSExpression(cm)mgl_expressionForInterpolatingExpression:withCurveType:parameters:stops:">+[NSExpression(MGLAdditions) mgl_expressionForInterpolatingExpression:withCurveType:parameters:stops:]</a></code>
+method and the
+<a href="https://www.mapbox.com/mapbox-gl-js/style-spec/#expressions-interpolate"><code>interpolate</code></a>
+operator in the Mapbox Style Specification. See also the
+<a href="#code-mgl_interpolate-withcurvetype-parameters-stops-code"><code>mgl_interpolate:withCurveType:parameters:stops:</code></a>
+function, which is used on its own without the <code>FUNCTION()</code> operator.</p>
+<h3 id='code-mgl_numberwithfallbackvalues-code' class='heading'><code>mgl_numberWithFallbackValues:</code></h3>
+
+<dl>
+<dt>Selector:</dt>
+<dd>
+ <code>mgl_numberWithFallbackValues:</code>,
+ <code>doubleValue</code>,
+ <code>floatValue</code>, or
+ <code>decimalValue</code>
+</dd>
+<dt>Format string syntax:</dt>
+<dd><code>FUNCTION(ele, 'mgl_numberWithFallbackValues:', 0)</code></dd>
+<dt>Target:</dt>
+<dd>
+ An <code>NSExpression</code> that evaluates to a Boolean value, number, or
+ string.
+</dd>
+<dt>Arguments:</dt>
+<dd>
+ Zero or more <code>NSExpression</code>s, each evaluating to a Boolean value
+ or string.
+</dd>
+</dl>
+
+<p>A numeric representation of the target:</p>
+
+<ul>
+<li>If the target is <code>NIL</code> or <code>FALSE</code>, the result is 0.</li>
+<li>If the target is true, the result is 1.
+
+<ul>
+<li>If the target is a string, it is converted to a number as specified by the
+“<a href="https://tc39.github.io/ecma262/#sec-tonumber-applied-to-the-string-type">ToNumber Applied to the String Type</a>”
+algorithm of the ECMAScript Language Specification.</li>
+<li>If multiple values are provided, each one is evaluated in order until the
+first successful conversion is obtained.</li>
+</ul></li>
+</ul>
+
+<p>This function corresponds to the
+<a href="https://www.mapbox.com/mapbox-gl-js/style-spec/#expressions-types-to-number"><code>to-number</code></a>
+operator in the Mapbox Style Specification. You can also cast a value to a
+number by passing the value and the string <code>NSNumber</code> into the <code>CAST()</code>
+operator.</p>
+<h3 id='code-mgl_stepwithminimum-stops-code' class='heading'><code>mgl_stepWithMinimum:stops:</code></h3>
+
+<dl>
+<dt>Selector:</dt>
+<dd><code>mgl_stepWithMinimum:stops:</code></dd>
+<dt>Format string syntax:</dt>
+<dd>
+ <code>FUNCTION($zoomLevel, 'mgl_stepWithMinimum:stops:', 0, %@)</code> with
+ a dictionary with zoom levels or other constant values as keys
+</dd>
+<dt>Target:</dt>
+<dd>
+ An <code>NSExpression</code> that evaluates to a number and contains a
+ variable or key path expression.
+</dd>
+<dt>Arguments:</dt>
+<dd>
+ The first argument is an expression that evaluates to a number, specifying
+ the minimum value in case the target is less than any of the stops in the
+ second argument.
+
+ The second argument is an <code>NSDictionary</code> object representing the
+ interpolation’s stops, with numeric zoom levels as keys and expressions as
+ values.
+</dd>
+</dl>
+
+<p>The output value of the stop whose key is just less than the evaluated target,
+or the minimum value if the target is less than the least of the stops’ keys.</p>
+
+<p>The input expression is matched against the keys in the stop dictionary. The
+keys may be feature attribute values, zoom levels, or heatmap densities. The
+values may be constant values or <code>NSExpression</code> objects. For example, you can
+use a stop dictionary with the zoom levels 0, 10, and 20 as keys and the colors
+yellow, orange, and red as the values.</p>
+
+<p>This function corresponds to the
+<code><a href="Categories/NSExpression(MGLAdditions).html#/c:objc(cs)NSExpression(cm)mgl_expressionForSteppingExpression:fromExpression:stops:">+[NSExpression(MGLAdditions) mgl_expressionForSteppingExpression:fromExpression:stops:]</a></code>
+method and the
+<a href="https://www.mapbox.com/mapbox-gl-js/style-spec/#expressions-step"><code>step</code></a>
+operator in the Mapbox Style Specification.</p>
+<h3 id='code-stringbyappendingstring-code' class='heading'><code>stringByAppendingString:</code></h3>
+
+<dl>
+<dt>Selector:</dt>
+<dd><code>stringByAppendingString:</code></dd>
+<dt>Format string syntax:</dt>
+<dd><code>FUNCTION('Old', 'stringByAppendingString:', 'MacDonald')</code></dd>
+<dt>Target:</dt>
+<dd>An <code>NSExpression</code> that evaluates to a string.</dd>
+<dt>Arguments:</dt>
+<dd>One or more <code>NSExpression</code>s, each evaluating to a string.</dd>
+</dl>
+
+<p>The target string with each of the argument strings appended in order.</p>
+
+<p>This function corresponds to the
+<code><a href="Categories/NSExpression(MGLAdditions).html#/c:objc(cs)NSExpression(im)mgl_expressionByAppendingExpression:">-[NSExpression(MGLAdditions) mgl_expressionByAppendingExpression:]</a></code>
+method and is similar to the
+<a href="https://www.mapbox.com/mapbox-gl-js/style-spec/#expressions-concat"><code>concat</code></a>
+operator in the Mapbox Style Specification. See also the
+<a href="#code-mgl_join-code"><code>mgl_join:</code></a> function, which concatenates multiple
+expressions and is used on its own without the <code>FUNCTION()</code> operator.</p>
+<h3 id='code-stringvalue-code' class='heading'><code>stringValue</code></h3>
+
+<dl>
+<dt>Selector:</dt>
+<dd><code>stringValue</code></dd>
+<dt>Format string syntax:</dt>
+<dd><code>FUNCTION(ele, 'stringValue')</code></dd>
+<dt>Target:</dt>
+<dd>
+ An <code>NSExpression</code> that evaluates to a Boolean value, number, or
+ string.
+</dd>
+<dt>Arguments:</dt>
+<dd>None.</dd>
+</dl>
+
+<p>A string representation of the target:</p>
+
+<ul>
+<li>If the target is <code>NIL</code>, the result is the empty string.</li>
+<li>If the target is a Boolean value, the result is the string <code>true</code> or <code>false</code>.</li>
+<li>If the target is a number, it is converted to a string as specified by the
+“<a href="https://tc39.github.io/ecma262/#sec-tostring-applied-to-the-number-type">NumberToString</a>”
+algorithm of the ECMAScript Language Specification.</li>
+<li>If the target is a color, it is converted to a string of the form
+<code>rgba(r,g,b,a)</code>, where <var>r</var>, <var>g</var>, and <var>b</var> are
+numerals ranging from 0 to 255 and <var>a</var> ranges from 0 to 1.</li>
+<li>Otherwise, the target is converted to a string in the format specified by the
+<a href="https://tc39.github.io/ecma262/#sec-json.stringify"><code>JSON.stringify()</code></a>
+function of the ECMAScript Language Specification.</li>
+</ul>
+
+<p>This function corresponds to the
+<a href="https://www.mapbox.com/mapbox-gl-js/style-spec/#expressions-types-to-string"><code>to-string</code></a>
+operator in the Mapbox Style Specification. You can also cast a value to a
+string by passing the value and the string <code>NSString</code> into the <code>CAST()</code>
+operator.</p>
+
+ </div>
+ </section>
+
+
+ </article>
+ </div>
+ <section class="footer limiter">
+ <p>© 2014–2018 <a class="link" href="https://www.mapbox.com/" target="_blank" rel="external">Mapbox</a>. See <a class="link" href="https://github.com/mapbox/mapbox-gl-native/blob/master/LICENSE.md" target="_blank" rel="external">license</a> for more details.</p> Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.3</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.
+ </section>
+ </body>
+</div>
+</html>