# MapMetrics Atlas API Docs > MapMetrics Atlas — mapping, geocoding, and routing APIs (map SDKs, v1/v2 geocoder, directions, isochrones). This file follows the llms.txt convention (https://llmstxt.org/). It is generated — do not hand-edit. See /ai-assistant-guide for narrative AI-integration guidance and /ai for an agent setup prompt. Append `.md` to any docs page URL to fetch that page's raw markdown source directly (e.g. this index is machine-mirrored per page). ## Overview - [Examples](https://docs.mapatlas.xyz/examples): All MapMetrics GL JS code examples — markers, popups, 3D buildings, terrain, clustering, animations, and more ### Getting Started - [Getting Started](https://docs.mapatlas.xyz/getting-started): Introduction to MapMetrics Atlas API — what it is, how it works, CDN setup, NPM install, authentication, and your first map - [Key Creation](https://docs.mapatlas.xyz/sdk/examples/key-creation): To use MapMetrics services in your application, you need to generate an API key. This key allows your app to securely access MapMetrics features and ensures only authorized usage. Follow the steps... - [Style Creation](https://docs.mapatlas.xyz/sdk/examples/style-creation): With MapMetrics, you can fully customize the appearance of your maps using the Studio. Follow these steps to create and manage your own map style: - [Common Errors & Troubleshooting](https://docs.mapatlas.xyz/overview/common-errors): Solutions to common MapMetrics Atlas API errors and issues - [API Keys & Security](https://docs.mapatlas.xyz/overview/api-keys): How MapMetrics Atlas API keys are authenticated, scoped, and restricted ### API Services #### Geocoder (v1, deprecated) - [Autocomplete](https://docs.mapatlas.xyz/overview/geocoder/autocomplete): This is the v1 autocomplete endpoint. It is still served and existing - [Forward Geocoder](https://docs.mapatlas.xyz/overview/geocoder/forwardgeocode): This is the v1 forward geocoding endpoint. It is still served and existing - [Reverse Geocoder](https://docs.mapatlas.xyz/overview/geocoder/reversegeocode): This is the v1 reverse geocoding endpoint. It is still served and existing #### Geocoder v2 - [Autocomplete](https://docs.mapatlas.xyz/overview/geocoder/v2/autocomplete): The v2 Autocomplete API provides instant place and address suggestions - [Retrieve](https://docs.mapatlas.xyz/overview/geocoder/v2/retrieve): The v2 Retrieve API resolves one autocomplete - [Forward Geocode](https://docs.mapatlas.xyz/overview/geocoder/v2/forwardgeocode): The v2 Forward Geocode API matches a full free-text query to its - [Reverse Geocode](https://docs.mapatlas.xyz/overview/geocoder/v2/reversegeocode): The v2 Reverse Geocode API takes a latitude/longitude point and returns - [Sessions](https://docs.mapatlas.xyz/overview/geocoder/v2/sessions): The v2 autocomplete API bills by session, not by #### Directions - [Directions Endpoint](https://docs.mapatlas.xyz/overview/directions/directions): Routing Direction Service (a.k.a. turn-by-turn), is an open-source routing service that lets you integrate routing and navigation into a web or mobile application. - [Elevation](https://docs.mapatlas.xyz/overview/directions/elevation): Elevation lookup service provides digital elevation model (DEM) data as the result of a query. The elevation service data has many applications when combined with other routing and navigation data,... - [Map Matching](https://docs.mapatlas.xyz/overview/directions/mapMatch): Map Matching service, you can match coordinates, such as GPS locations, to roads and paths that have been mapped in OpenStreetMap. By doing this, you can turn a path into a route with narrative ins... - [Matrix](https://docs.mapatlas.xyz/overview/directions/matrix): The time distance matrix service takes a sources and targets to list locations. This allows you to set the source (origin) locations separately from the target (destination) locations. The set of o... - [Optimization](https://docs.mapatlas.xyz/overview/directions/optimization): The Optimized Route service provides a quick computation of time and distance between a set of location sources and location targets and returns them in an optimized route order, along with the shape. - [Isochrone](https://docs.mapatlas.xyz/overview/directions/isochrone): The ability to return these amazing structures called isochrones. What's an isochrone? The word is a combination of two greek roots iso meaning equal and chrono meaning time. So indeed, an isochron... ### Geocoding SDKs - [Overview](https://docs.mapatlas.xyz/overview/sdk/geocoding/): Four typed client packages wrap the v2 geocoder - [JavaScript / TypeScript](https://docs.mapatlas.xyz/overview/sdk/geocoding/javascript): @mapmetrics/geocoder is a TypeScript client for the - [Flutter](https://docs.mapatlas.xyz/overview/sdk/geocoding/flutter): mapatlas_geocoder is a pure-Dart client (no Flutter dependency, sound null - [Swift](https://docs.mapatlas.xyz/overview/sdk/geocoding/swift): MapAtlasGeocoder is a Swift client for the - [Kotlin](https://docs.mapatlas.xyz/overview/sdk/geocoding/kotlin): mapatlas-geocoder is a pure Kotlin/JVM client for the - [Sessions & Billing](https://docs.mapatlas.xyz/overview/sdk/geocoding/sessions): All four geocoding SDKs are built around one billing model: the ### SDK and Examples #### MapMetrics GL (Web) - [MapMetrics GL (Web)](https://docs.mapatlas.xyz/overview/sdk/mapmetrics): MapMetrics GL is the browser map library: it renders vector tiles on a - [Simple Map (CDN)](https://docs.mapatlas.xyz/sdk/examples/simple-map-cdn): Quick setup guide for creating a basic MapMetrics map using CDN links - [Simple Map (NPM)](https://docs.mapatlas.xyz/sdk/examples/simple-map-npm): Setup guide for creating a MapMetrics map using the NPM package - [React Map Integration](https://docs.mapatlas.xyz/sdk/examples/react-map-example): Complete guide to integrating MapMetrics GL into React applications using hooks - [Add a Marker](https://docs.mapatlas.xyz/sdk/examples/add-a-marker): Learn how to add interactive markers to your map, including draggable markers - [Add a Popup](https://docs.mapatlas.xyz/sdk/examples/add-a-popup): Display interactive popups on markers with custom HTML content - [Add Image as a Marker](https://docs.mapatlas.xyz/sdk/examples/add-image-marker):
- [Add a Geometry](https://docs.mapatlas.xyz/sdk/examples/add-a-geometry):
- [Add a Heatmap](https://docs.mapatlas.xyz/sdk/examples/add-a-heatmap): Create heatmap visualizations to show data density and patterns on your map - [Arc Layer (Flight Routes)](https://docs.mapatlas.xyz/sdk/examples/arc-layer): Visualize connections between locations using animated curved arc lines — great for flight routes, migration flows, and network links - [Hexagon Layer (Data Aggregation)](https://docs.mapatlas.xyz/sdk/examples/hexagon-layer): Aggregate point data into a 3D hexagonal grid — great for visualizing density, accidents, events, or any location-based data - [Create and style clusters](https://docs.mapatlas.xyz/sdk/examples/add-a-cluster): Group multiple markers into clusters for better performance and visualization with large datasets - [Display the whole world](https://docs.mapatlas.xyz/sdk/examples/display-whole-world): This example demonstrates how to display a 3D globe view with an optional animated starfield background. You can toggle the stars effect on/off using the button below. - [3D Building](https://docs.mapatlas.xyz/sdk/examples/3d-building): Display 3D buildings on a map using vector tiles and fill-extrusion layers with interactive popups - [Add a 3D Model (Three.js)](https://docs.mapatlas.xyz/sdk/examples/3d-model-threejs): Use a custom style layer with Three.js to render a 3D GLTF model on the map - [Building Color by Zoom](https://docs.mapatlas.xyz/sdk/examples/building-color-zoom): Style 3D buildings with colors that change dynamically based on the current zoom level ##### Terrain & Elevation - [3D Terrain](https://docs.mapatlas.xyz/sdk/examples/3d-terrain): Render a 3D terrain map by adding a raster-dem source and enabling the terrain property - [Sky, Fog and Terrain](https://docs.mapatlas.xyz/sdk/examples/sky-fog-terrain): Combine 3D terrain with a sky background and atmospheric fog for an immersive landscape view - [Add a Hillshade Layer](https://docs.mapatlas.xyz/sdk/examples/add-a-hillshade-layer): Add a hillshade layer to show terrain shadows and elevation relief on a flat map - [Add a Color Relief Layer](https://docs.mapatlas.xyz/sdk/examples/add-a-color-relief-layer): Color the map surface by elevation using a raster-dem source and elevation-based color expressions - [Add Contour Lines](https://docs.mapatlas.xyz/sdk/examples/add-contour-lines): Draw contour lines on the map to show elevation levels using GeoJSON line features - [Satellite Map with Terrain](https://docs.mapatlas.xyz/sdk/examples/satellite-terrain): Display a satellite imagery basemap combined with 3D terrain elevation for an aerial landscape view ##### Camera & Navigation - [Fly to a Location](https://docs.mapatlas.xyz/sdk/examples/fly-to-location): Smoothly animate the map camera to fly to any location - [Fit to Bounding Box](https://docs.mapatlas.xyz/sdk/examples/fit-to-bounding-box): Automatically fit the map view to show all markers or a region using fitBounds - [Set Pitch and Bearing](https://docs.mapatlas.xyz/sdk/examples/set-pitch-and-bearing): Control the map camera tilt (pitch) and rotation (bearing) to create 3D perspectives - [Animate Camera Around a Point](https://docs.mapatlas.xyz/sdk/examples/animate-camera-around-point): Continuously rotate the map camera around a fixed point to create an orbiting animation - [Jump to a Series of Locations](https://docs.mapatlas.xyz/sdk/examples/jump-to-locations): Navigate instantly or with animation through a series of map locations - [Customize Camera Animations](https://docs.mapatlas.xyz/sdk/examples/customize-camera-animations): Control camera animation speed, easing curves, and behavior with flyTo and easeTo options - [Slowly Fly to a Location](https://docs.mapatlas.xyz/sdk/examples/slowly-fly-to-location): Use flyTo with slow speed and long duration for cinematic camera movements - [Fly to Location on Scroll](https://docs.mapatlas.xyz/sdk/examples/fly-to-location-on-scroll): Animate the map camera to different locations as the user scrolls down the page - [Offset Vanishing Point with Padding](https://docs.mapatlas.xyz/sdk/examples/offset-vanishing-point-padding): Shift the map's visible center using padding to accommodate UI panels or sidebars - [Render World Copies](https://docs.mapatlas.xyz/sdk/examples/render-world-copies): Control whether the map repeats (tiles) the world horizontally when zoomed out - [Sync Multiple Maps](https://docs.mapatlas.xyz/sdk/examples/sync-multiple-maps): Keep two maps in sync so panning or zooming one updates the other - [Constrain Map Transform](https://docs.mapatlas.xyz/sdk/examples/customize-map-transform-constrain): Constrain the map camera to specific bounds, zoom levels, and custom transform rules - [Game-Like Controls](https://docs.mapatlas.xyz/sdk/examples/game-controls-navigation): Control the map camera using keyboard keys like a game — WASD to pan, Q/E to rotate ##### User Interaction - [Popup on Click](https://docs.mapatlas.xyz/sdk/examples/popup-on-click): Show a popup with information when user clicks anywhere on the map or on a specific layer - [Popup on Hover](https://docs.mapatlas.xyz/sdk/examples/popup-on-hover): Show a tooltip popup when the user hovers over a marker or map feature - [Hover Effect](https://docs.mapatlas.xyz/sdk/examples/hover-effect): Highlight map features when the user hovers over them using feature state - [Mouse Coordinates](https://docs.mapatlas.xyz/sdk/examples/mouse-coordinates): Display the longitude and latitude coordinates as the user moves the mouse over the map - [Draggable Marker](https://docs.mapatlas.xyz/sdk/examples/draggable-marker): Create markers that users can drag to new locations, and capture the new position - [Locate the User](https://docs.mapatlas.xyz/sdk/examples/locate-user): Show the user's current location on the map using the browser Geolocation API ##### Geometry & Features - [Add a GeoJSON Line](https://docs.mapatlas.xyz/sdk/examples/add-geojson-line): Add a GeoJSON LineString to the map as a styled line layer - [Add a GeoJSON Polygon](https://docs.mapatlas.xyz/sdk/examples/add-geojson-polygon): Add a GeoJSON Polygon to the map as a filled area with an outline - [Draw GeoJSON Points](https://docs.mapatlas.xyz/sdk/examples/draw-geojson-points): Draw multiple points on the map from a GeoJSON FeatureCollection using a circle layer - [Multiple Geometries from One Source](https://docs.mapatlas.xyz/sdk/examples/multiple-geometries): Use a single GeoJSON source to render points, lines, and polygons in separate layers - [Cluster Points with Custom Styling](https://docs.mapatlas.xyz/sdk/examples/html-clusters): Group nearby points into clusters that expand on click, with custom circle and count styling ##### Lines & Polygons - [Animate a Line](https://docs.mapatlas.xyz/sdk/examples/animate-a-line): Animate a line being drawn on the map step by step using requestAnimationFrame - [Animate a Point Along a Route](https://docs.mapatlas.xyz/sdk/examples/animate-point-along-route): Animate a point marker moving along a defined route path on the map - [Style Lines with Data-Driven Property](https://docs.mapatlas.xyz/sdk/examples/data-driven-lines): Style map lines dynamically based on feature properties using data-driven expressions - [Draw a Gradient Line](https://docs.mapatlas.xyz/sdk/examples/gradient-line): Draw a line with a color gradient along its length using the line-gradient paint property - [Draw a Circle](https://docs.mapatlas.xyz/sdk/examples/draw-a-circle): Draw circles and filled areas on the map using circle layers or polygon GeoJSON - [Add a Pattern to a Polygon](https://docs.mapatlas.xyz/sdk/examples/add-pattern-to-polygon): Fill a polygon with a repeating image pattern using fill-pattern and loadImage - [Filter Within a Layer](https://docs.mapatlas.xyz/sdk/examples/filter-within-layer): Dynamically filter which features are displayed in a map layer using setFilter ##### Animations - [Animate a Point](https://docs.mapatlas.xyz/sdk/examples/animate-point): Animate a point on the map using requestAnimationFrame to create smooth movement - [Animate a Marker](https://docs.mapatlas.xyz/sdk/examples/animate-marker): Animate a marker moving on the map using requestAnimationFrame - [Update a Feature in Realtime](https://docs.mapatlas.xyz/sdk/examples/update-feature-realtime): Update a GeoJSON feature's position in real time using setInterval and setData ##### Popups & Info - [Display a Popup](https://docs.mapatlas.xyz/sdk/examples/display-popup): Display a popup at a specific location on the map with custom HTML content - [Show Polygon Info on Click](https://docs.mapatlas.xyz/sdk/examples/show-polygon-info-on-click): Display a popup with polygon feature properties when the user clicks on a filled polygon - [Get Features Under Mouse](https://docs.mapatlas.xyz/sdk/examples/get-features-under-mouse): Query and display map features under the mouse pointer using queryRenderedFeatures - [Measure Distances](https://docs.mapatlas.xyz/sdk/examples/measure-distances): Allow users to click on the map to measure distances between points ##### Filtering & Search - [Filter by Text Input](https://docs.mapatlas.xyz/sdk/examples/filter-by-text-input): Filter map features in real time as the user types in a search input - [Filter by Toggle List](https://docs.mapatlas.xyz/sdk/examples/filter-by-toggle-list): Filter map features by toggling category buttons that show or hide specific feature types ##### Camera & Bounds - [Fit Map to a LineString](https://docs.mapatlas.xyz/sdk/examples/fit-to-linestring): Automatically fit the map view to the bounds of a LineString or any set of coordinates - [Restrict Map Panning](https://docs.mapatlas.xyz/sdk/examples/restrict-map-panning): Restrict the map so users cannot pan outside a defined geographic boundary ##### Layer Styling - [Add Layer Below Labels](https://docs.mapatlas.xyz/sdk/examples/add-layer-below-labels): Insert a new layer below existing map labels so labels remain visible on top - [Change Layer Color at Runtime](https://docs.mapatlas.xyz/sdk/examples/change-layer-color): Dynamically change a map layer's color at runtime using setPaintProperty ##### Map Controls - [Navigation Controls](https://docs.mapatlas.xyz/sdk/examples/navigation-controls): Add navigation controls to the map including zoom buttons, compass, scale bar, and fullscreen toggle - [Disable Map Rotation](https://docs.mapatlas.xyz/sdk/examples/disable-map-rotation): Disable map rotation from mouse drag, touch gestures, and keyboard shortcuts - [Disable Scroll Zoom](https://docs.mapatlas.xyz/sdk/examples/disable-scroll-zoom): Disable scroll wheel zoom and touch pinch zoom to prevent accidental map zooming - [Fullscreen Map](https://docs.mapatlas.xyz/sdk/examples/fullscreen-map): Add a fullscreen button that lets users expand the map to fill the entire screen - [Toggle Map Interactions](https://docs.mapatlas.xyz/sdk/examples/toggle-interactions): Enable or disable individual map interactions like scroll zoom, drag pan, and rotation ##### Icons & Images - [Add an Icon to the Map](https://docs.mapatlas.xyz/sdk/examples/add-an-icon-to-the-map): Load an external image and use it as a map icon in a symbol layer - [Add a Generated Icon](https://docs.mapatlas.xyz/sdk/examples/add-generated-icon): Generate a custom icon programmatically using the Canvas API and add it to the map - [Add an Animated Icon](https://docs.mapatlas.xyz/sdk/examples/add-animated-icon): Create a pulsing animated icon using Canvas and requestAnimationFrame - [Add a Stretchable Image](https://docs.mapatlas.xyz/sdk/examples/add-stretchable-image): Use a stretchable (nine-patch) image as an icon that scales without distortion - [Add Custom Icons with Markers](https://docs.mapatlas.xyz/sdk/examples/add-custom-icons-markers): Create Markers with custom HTML elements as icons instead of the default pin - [Display a Remote SVG Symbol](https://docs.mapatlas.xyz/sdk/examples/display-remote-svg-symbol): Fetch an SVG from a URL and render it as a map icon using a canvas ##### Labels & Text - [RTL Script Support](https://docs.mapatlas.xyz/sdk/examples/rtl-support): Enable right-to-left text rendering for Arabic, Hebrew, and Persian map labels - [Change Label Case](https://docs.mapatlas.xyz/sdk/examples/change-label-case): Transform map label text to uppercase, lowercase, or default case using text-transform ##### Advanced - [Create a Draggable Point](https://docs.mapatlas.xyz/sdk/examples/draggable-point): Create a draggable GeoJSON point that the user can move by clicking and dragging #### Flutter MapMetrics - [Introduction](https://docs.mapatlas.xyz/sdk/examples/flutter-mapmetrics-intro): Welcome to the Flutter MapMetrics integration guide! This section will help you integrate MapMetrics Atlas API with your Flutter applications using the MapMetrics Flutter package. - [Setup Guide](https://docs.mapatlas.xyz/sdk/examples/flutter-setup): This guide will walk you through setting up a Flutter project to use MapMetrics Atlas API with the MapMetrics Flutter package. - [Basic Map](https://docs.mapatlas.xyz/sdk/examples/flutter-basic-map): This tutorial will show you how to create a basic interactive map using Flutter and MapMetrics Atlas API. - [Markers and Annotations](https://docs.mapatlas.xyz/sdk/examples/flutter-markers): This tutorial will show you how to add markers, annotations, and custom overlays to your MapMetrics map in Flutter. - [Custom Map Styling](https://docs.mapatlas.xyz/sdk/examples/flutter-custom-styling): This tutorial will show you how to create custom map styles and integrate them with your Flutter MapMetrics applications. - [Map Interactions](https://docs.mapatlas.xyz/sdk/examples/flutter-interactions): This tutorial will show you how to handle various map interactions, events, and user gestures in your Flutter MapMetrics applications. - [Add a Popup](https://docs.mapatlas.xyz/sdk/examples/flutter-add-a-popup): This tutorial shows how to display popups (info windows) on markers in your MapMetrics Flutter map. Popups are great for showing extra information when a user taps on a marker. - [Add a Polyline](https://docs.mapatlas.xyz/sdk/examples/flutter-add-a-polyline): This tutorial shows how to draw polylines (lines connecting multiple points) on your MapMetrics Flutter map. Polylines are useful for showing routes, paths, or borders. - [Add a Polygon](https://docs.mapatlas.xyz/sdk/examples/flutter-add-a-polygon): This tutorial shows how to draw filled polygons on your MapMetrics Flutter map. Polygons are useful for highlighting areas, zones, or boundaries. - [Draw a Circle](https://docs.mapatlas.xyz/sdk/examples/flutter-draw-a-circle): This tutorial shows how to draw circles on your MapMetrics Flutter map. Circles are useful for showing a radius around a point — like a search area, delivery zone, or coverage range. - [Draggable Marker](https://docs.mapatlas.xyz/sdk/examples/flutter-draggable-marker): This tutorial shows how to create markers that users can drag to a new position on the map. This is useful for letting users pick a location, adjust a pin, or reposition points of interest. - [Fly to a Location](https://docs.mapatlas.xyz/sdk/examples/flutter-fly-to-location): Smoothly animate the map camera to fly to any location. This is great for navigation UIs where you want the map to glide to a destination. - [Jump to Locations](https://docs.mapatlas.xyz/sdk/examples/flutter-jump-to-locations): This tutorial shows how to navigate the map through a series of locations — either instantly with moveCamera or with smooth animation using animateCamera. - [Locate the User](https://docs.mapatlas.xyz/sdk/examples/flutter-locate-user): Show the user's current GPS location on the map. This guide covers enabling the built-in location layer and requesting location permissions on both Android and iOS. - [Fullscreen Map](https://docs.mapatlas.xyz/sdk/examples/flutter-fullscreen-map): This tutorial shows how to create a fullscreen map that fills the entire screen, removing the app bar and status bar for an immersive experience. - [Set Pitch and Bearing](https://docs.mapatlas.xyz/sdk/examples/flutter-set-pitch-and-bearing): This tutorial shows how to control the map's pitch (tilt) and bearing (rotation) to create 3D perspectives and custom viewing angles. - [Add Image Marker](https://docs.mapatlas.xyz/sdk/examples/flutter-add-image-marker): This tutorial shows how to use custom images as map markers instead of the default pin icons. - [Navigation Controls](https://docs.mapatlas.xyz/sdk/examples/flutter-navigation-controls): This tutorial shows how to add custom map navigation controls like zoom buttons, compass, and scale indicators to your MapMetrics Flutter map. - [Disable Scroll Zoom](https://docs.mapatlas.xyz/sdk/examples/flutter-disable-scroll-zoom): This tutorial shows how to disable or control zoom gestures on your MapMetrics Flutter map. This is useful for maps embedded in scrollable pages where pinch-to-zoom conflicts with page scrolling. - [Fit to Bounding Box](https://docs.mapatlas.xyz/sdk/examples/flutter-fit-to-bounding-box): This tutorial shows how to adjust the map camera to fit a set of coordinates or a bounding box within the visible viewport. - [Animate Camera Around Point](https://docs.mapatlas.xyz/sdk/examples/flutter-animate-camera-around-point): This tutorial shows how to smoothly rotate the camera around a fixed point on the map, creating a cinematic orbiting effect. - [Restrict Map Panning](https://docs.mapatlas.xyz/sdk/examples/flutter-restrict-map-panning): This tutorial shows how to limit the map to a specific geographic area so users cannot pan or zoom outside of it. - [Multiple Geometries](https://docs.mapatlas.xyz/sdk/examples/flutter-multiple-geometries): This tutorial shows how to display markers, polylines, polygons, and circles all on the same map. - [Animate a Marker](https://docs.mapatlas.xyz/sdk/examples/flutter-animate-marker): This tutorial shows how to smoothly animate a marker's position along a path or between waypoints. - [Measure Distances](https://docs.mapatlas.xyz/sdk/examples/flutter-measure-distances): This tutorial shows how to let users tap on the map to place points and measure the distance between them using the Haversine formula. - [Toggle Interactions](https://docs.mapatlas.xyz/sdk/examples/flutter-toggle-interactions): This tutorial shows how to enable and disable individual map interactions like zoom, pan, rotate, and tilt at runtime. - [Add Clusters](https://docs.mapatlas.xyz/sdk/examples/flutter-add-a-cluster): This tutorial shows how to group nearby markers into clusters for better performance and readability when you have many data points on the map. - [Add a Heatmap](https://docs.mapatlas.xyz/sdk/examples/flutter-add-a-heatmap): This tutorial shows how to create a heatmap overlay to visualize data density on your MapMetrics Flutter map. - [Popup on Click](https://docs.mapatlas.xyz/sdk/examples/flutter-popup-on-click): This tutorial shows how to display a popup with detailed information when the user taps on a map feature like a marker or polygon. - [Animate a Line](https://docs.mapatlas.xyz/sdk/examples/flutter-animate-a-line): This tutorial shows how to animate a polyline being drawn on the map step by step, as if tracing a route in real time. - [Filter Markers](https://docs.mapatlas.xyz/sdk/examples/flutter-filter-markers): This tutorial shows how to filter which markers are displayed on the map based on categories, search text, or toggle buttons. - [Sync Multiple Maps](https://docs.mapatlas.xyz/sdk/examples/flutter-sync-multiple-maps): This tutorial shows how to display two maps side by side and keep their camera positions synchronized so when you move one, the other follows. - [Slowly Fly to Location](https://docs.mapatlas.xyz/sdk/examples/flutter-slowly-fly-to-location): This tutorial shows how to create a slow, cinematic camera flight across the map — great for storytelling, presentations, or showcasing a journey. - [Show Polygon Info on Click](https://docs.mapatlas.xyz/sdk/examples/flutter-show-polygon-info-on-click): This tutorial shows how to display information about a polygon when the user taps on it — useful for showing zone details, area statistics, or district information. - [Game-Style Controls](https://docs.mapatlas.xyz/sdk/examples/flutter-game-controls): This tutorial shows how to create game-like controls for navigating the map — using on-screen buttons to pan, zoom, and rotate like a virtual joystick. - [Migrate from Google Maps](https://docs.mapatlas.xyz/sdk/examples/flutter-google-map-migration): This guide helps you switch your existing Flutter app from google_maps_flutter to MapMetrics. The APIs are very similar, so migration is straightforward. - [3D Buildings with Shadow in Flutter](https://docs.mapatlas.xyz/sdk/examples/flutter-3d-buildings-with-shadow): This tutorial shows how to display 3D extruded buildings with realistic shadow effects based on a simulated light source — adding depth and realism to your map. - [3D Building Visualization in Flutter](https://docs.mapatlas.xyz/sdk/examples/flutter-3d-buildings): This tutorial shows how to display 3D extruded buildings on your MapMetrics Flutter map — great for urban planning, real estate, and city exploration apps. - [3D Terrain in Flutter](https://docs.mapatlas.xyz/sdk/examples/flutter-3d-terrain): This tutorial shows how to enable 3D terrain elevation on your MapMetrics Flutter map — hills, mountains, and valleys rendered in 3D for immersive map experiences. - [Add an Animated Icon to the Map in Flutter](https://docs.mapatlas.xyz/sdk/examples/flutter-add-animated-icon): This tutorial shows how to create animated marker icons — rotating, scaling, or changing appearance over time — for live tracking, alerts, or eye-catching points of interest. - [Add a Color Relief Layer in Flutter](https://docs.mapatlas.xyz/sdk/examples/flutter-add-color-relief-layer): This tutorial shows how to add a color relief (hypsometric tinting) layer to your MapMetrics Flutter map — coloring terrain by elevation bands from green lowlands to white mountain peaks. - [Add Contour Lines in Flutter](https://docs.mapatlas.xyz/sdk/examples/flutter-add-contour-lines): This tutorial shows how to add elevation contour lines to your MapMetrics Flutter map — essential for topographic maps, hiking apps, and geographic analysis. - [Add Custom Icons with Markers in Flutter](https://docs.mapatlas.xyz/sdk/examples/flutter-add-custom-icons-markers): This tutorial shows how to create markers with custom icons — using asset images, network images, or Flutter widgets — instead of the default pin. - [Add a GeoJSON Line in Flutter](https://docs.mapatlas.xyz/sdk/examples/flutter-add-geojson-line): This tutorial shows how to add a GeoJSON LineString to your MapMetrics Flutter map using a source and layer approach — ideal for routes, borders, or paths. - [Add a GeoJSON Polygon in Flutter](https://docs.mapatlas.xyz/sdk/examples/flutter-add-geojson-polygon): This tutorial shows how to add a GeoJSON Polygon to your MapMetrics Flutter map — perfect for highlighting regions, zones, or areas. - [Add a Hillshade Layer in Flutter](https://docs.mapatlas.xyz/sdk/examples/flutter-add-hillshade-layer): This tutorial shows how to add a hillshade layer to your MapMetrics Flutter map — creating a shaded relief effect that makes terrain features like mountains, valleys, and ridges visible on a 2D map. - [Add an Icon to the Map in Flutter](https://docs.mapatlas.xyz/sdk/examples/flutter-add-icon-to-map): This tutorial shows how to add custom icon images to the map style and use them as symbols on markers or layers. - [Add a Layer Below Labels in Flutter](https://docs.mapatlas.xyz/sdk/examples/flutter-add-layer-below-labels): This tutorial shows how to insert new layers below the map's text labels — so your data layers don't cover up important place names and road labels. - [Add a Pattern to a Polygon in Flutter](https://docs.mapatlas.xyz/sdk/examples/flutter-add-pattern-to-polygon): This tutorial shows how to create patterned polygon fills — stripes, crosshatch, dots, or custom patterns — instead of a plain solid color. - [Animate a Point Along a Route in Flutter](https://docs.mapatlas.xyz/sdk/examples/flutter-animate-point-along-route): This tutorial shows how to smoothly animate a marker moving along a defined route path — great for delivery tracking, ride-hailing, or tour animations. - [Animate a Point in Flutter](https://docs.mapatlas.xyz/sdk/examples/flutter-animate-point): This tutorial shows how to animate a point (marker) bouncing, pulsing, or moving on the map using Flutter's built-in animation system. - [Arc Layer — Flight Routes in Flutter](https://docs.mapatlas.xyz/sdk/examples/flutter-arc-layer): This tutorial shows how to draw curved arc lines between locations — perfect for visualizing flight paths, connections between cities, or network maps. - [Change Building Color Based on Zoom Level in Flutter](https://docs.mapatlas.xyz/sdk/examples/flutter-building-color-zoom): This tutorial shows how to dynamically change the color of 3D buildings as the user zooms in and out — useful for data visualization, theming, or emphasizing detail at different scales. - [Change the Case of Labels in Flutter](https://docs.mapatlas.xyz/sdk/examples/flutter-change-label-case): This tutorial shows how to change the text case of map labels — converting to uppercase, lowercase, or title case at runtime. - [Change a Layer's Color with Buttons in Flutter](https://docs.mapatlas.xyz/sdk/examples/flutter-change-layer-color): This tutorial shows how to dynamically change the color of a map layer at runtime using buttons — no need to reload the map. - [Customize Camera Animations in Flutter](https://docs.mapatlas.xyz/sdk/examples/flutter-customize-camera-animations): This tutorial shows how to create custom camera animations — zooming, tilting, rotating, and combining multiple camera movements for cinematic map experiences. - [Data-Driven Line Styling in Flutter](https://docs.mapatlas.xyz/sdk/examples/flutter-data-driven-lines): This tutorial shows how to style polylines based on data properties — useful for showing traffic speed, elevation, route type, or any varying attribute along a path. - [Disable Map Rotation in Flutter](https://docs.mapatlas.xyz/sdk/examples/flutter-disable-map-rotation): This tutorial shows how to prevent users from rotating the map — useful for simple navigation apps or when a fixed north-up orientation is required. - [Display a Popup in Flutter](https://docs.mapatlas.xyz/sdk/examples/flutter-display-popup): This tutorial shows different ways to display popups and info overlays on your MapMetrics Flutter map — from simple info windows to custom bottom sheets. - [Display the Whole World in Flutter](https://docs.mapatlas.xyz/sdk/examples/flutter-display-whole-world): This tutorial shows how to display a zoomed-out view of the entire world — perfect for global dashboards, flight maps, or selecting a region. - [Create a Draggable Point in Flutter](https://docs.mapatlas.xyz/sdk/examples/flutter-draggable-point): This tutorial shows how to create a draggable point that draws a line or shape as you drag it — useful for route planning, area selection, or interactive drawing tools. - [Draw GeoJSON Points in Flutter](https://docs.mapatlas.xyz/sdk/examples/flutter-draw-geojson-points): This tutorial shows how to render multiple points from GeoJSON data on your MapMetrics Flutter map — efficient for displaying large datasets of locations. - [Filter Markers by Text Input in Flutter](https://docs.mapatlas.xyz/sdk/examples/flutter-filter-by-text-input): This tutorial shows how to filter map markers in real-time as the user types in a search field — great for location search, store finders, or point-of-interest lookup. - [Filter Features by Toggle List in Flutter](https://docs.mapatlas.xyz/sdk/examples/flutter-filter-by-toggle-list): This tutorial shows how to filter map markers using a toggle list of categories — like a checkbox or chip filter panel. - [Filter Features Within a Layer in Flutter](https://docs.mapatlas.xyz/sdk/examples/flutter-filter-within-layer): This tutorial shows how to filter features within a single GeoJSON layer using expressions — showing or hiding features based on their properties without removing and re-adding the layer. - [Fit Map to a LineString in Flutter](https://docs.mapatlas.xyz/sdk/examples/flutter-fit-to-linestring): This tutorial shows how to automatically zoom and pan the map so that an entire route or LineString fits within the visible area. - [Fly to Location on List Scroll in Flutter](https://docs.mapatlas.xyz/sdk/examples/flutter-fly-to-on-list-scroll): This tutorial shows how to sync the map with a scrollable list — as the user scrolls through locations, the map automatically flies to each one. Perfect for property listings, tour guides, and stor... - [Get Coordinates on Tap in Flutter](https://docs.mapatlas.xyz/sdk/examples/flutter-get-coordinates-on-tap): This tutorial shows how to get and display the latitude and longitude coordinates when the user taps on the map — the Flutter equivalent of getting mouse coordinates on web. - [Draw a Gradient Line in Flutter](https://docs.mapatlas.xyz/sdk/examples/flutter-gradient-line): This tutorial shows how to draw a line with a color gradient along its length — useful for showing elevation, speed, or progress along a route. - [Hexagon Layer — Data Aggregation in Flutter](https://docs.mapatlas.xyz/sdk/examples/flutter-hexagon-layer): This tutorial shows how to create a hexagonal grid to aggregate and visualize point data — useful for density maps, analytics dashboards, and spatial analysis. - [Offset the Vanishing Point Using Padding in Flutter](https://docs.mapatlas.xyz/sdk/examples/flutter-offset-vanishing-point): This tutorial shows how to offset the map's center point using padding — so the map's focal point shifts to accommodate UI overlays like side panels, bottom sheets, or info cards without covering t... - [Display a Popup on Long Press in Flutter](https://docs.mapatlas.xyz/sdk/examples/flutter-popup-on-long-press): This tutorial shows how to show a popup when the user long-presses on the map — the Flutter equivalent of hover popups on web. Great for adding new markers, getting location info, or context menus. - [Render World Copies in Flutter](https://docs.mapatlas.xyz/sdk/examples/flutter-render-world-copies): This tutorial shows how to control whether the map renders copies of the world when zoomed out — and how to handle wrapping at the antimeridian. - [Right-to-Left (RTL) Text Support in Flutter](https://docs.mapatlas.xyz/sdk/examples/flutter-rtl-support): This tutorial shows how to properly display right-to-left scripts like Arabic, Hebrew, and Persian on your MapMetrics Flutter map — ensuring labels and UI elements render correctly. - [Satellite Map with Terrain Elevation in Flutter](https://docs.mapatlas.xyz/sdk/examples/flutter-satellite-terrain): This tutorial shows how to display satellite imagery combined with 3D terrain elevation — ideal for outdoor, hiking, and geographic exploration apps. - [Sky, Fog, and Terrain in Flutter](https://docs.mapatlas.xyz/sdk/examples/flutter-sky-fog-terrain): This tutorial shows how to add atmospheric effects — sky gradient, fog, and terrain — for immersive 3D map experiences. - [Tap to Highlight Features in Flutter](https://docs.mapatlas.xyz/sdk/examples/flutter-tap-highlight): This tutorial shows how to highlight map features when the user taps on them — the Flutter equivalent of hover effects on web maps. - [Update a Feature in Realtime in Flutter](https://docs.mapatlas.xyz/sdk/examples/flutter-update-feature-realtime): This tutorial shows how to update map features (markers, polylines, circles) in real-time — essential for live tracking, IoT dashboards, and real-time data visualization. #### iOS MapMetrics Native - [Getting Started](https://docs.mapatlas.xyz/overview/sdk/ios-native/GettingStarted): For all of our examples, you will need: ##### Map Features - [Add Markers](https://docs.mapatlas.xyz/overview/sdk/ios-native/mapmetrics-ios-Map-add markers): This guide covers how to: - [Add Heatmap](https://docs.mapatlas.xyz/overview/sdk/ios-native/mapmetrics-ios-Map-add-Heatmap): This guide covers how to: - [Add Clusters](https://docs.mapatlas.xyz/overview/sdk/ios-native/mapmetrics-ios-Map-add-Clusters): This guide covers how to: - [Annotation View](https://docs.mapatlas.xyz/overview/sdk/ios-native/AnnotationViewExample): Add a custom annotation view ##### Data Sources - [GeoJSON](https://docs.mapatlas.xyz/overview/sdk/ios-native/GeoJSON): MapMetrics iOS offers several ways to work with GeoJSON files. - [PMTiles](https://docs.mapatlas.xyz/overview/sdk/ios-native/PMTiles): Working with PMTiles - [Web API Data](https://docs.mapatlas.xyz/overview/sdk/ios-native/WebAPIDataExample): Showing data from an API with custom styling and interaction ##### Styling - [Example Styles](https://docs.mapatlas.xyz/overview/sdk/ios-native/ExampleStyles): The following styles are used in the examples: - [Custom Style Layer](https://docs.mapatlas.xyz/overview/sdk/ios-native/CustomStyleLayerExample): Creating a Custom Style Layer with Metal - [For Style Authors](https://docs.mapatlas.xyz/overview/sdk/ios-native/For_Style_Authors): When designing your style, consider the context in which your application shows - [Building Light](https://docs.mapatlas.xyz/overview/sdk/ios-native/BuildingLightExample): Add a fill extrustion layer and adjust the light dynamically with a slider. - [Line Style Layer](https://docs.mapatlas.xyz/overview/sdk/ios-native/LineStyleLayerExample): Adding an MLNLineStyleLayer to the map using a GeoJSON file. - [DDS Circle Layer](https://docs.mapatlas.xyz/overview/sdk/ios-native/DDSCircleLayerExample): Add and style a vector tile source - [Customizing Fonts](https://docs.mapatlas.xyz/overview/sdk/ios-native/Customizing_Fonts): Using custom fonts - [Multiple Images](https://docs.mapatlas.xyz/overview/sdk/ios-native/MultipleImagesExample): Adding images to the map and assigning them to POI types ##### Lines and Geometry - [Animated Line](https://docs.mapatlas.xyz/overview/sdk/ios-native/AnimatedLineExample): Add an animated line to a map - [Line on User Tap](https://docs.mapatlas.xyz/overview/sdk/ios-native/LineOnUserTap): Demonstrating adding MLNPolyline annotations and responding to user input. ##### Gestures and Interactions - [Gesture Recognizers](https://docs.mapatlas.xyz/overview/sdk/ios-native/GestureRecognizers): Learn how to work with gesture recognizers - [Blocking Gestures](https://docs.mapatlas.xyz/overview/sdk/ios-native/BlockingGesturesExample): Constrain the map to a certain area. - [Location](https://docs.mapatlas.xyz/overview/sdk/ios-native/LocationPrivacyExample): Requesting precise location with MLNLocationManager. ##### Camera and Snapshots - [Static Snapshot](https://docs.mapatlas.xyz/overview/sdk/ios-native/StaticSnapshotExample): Use MLNMapSnapshotter to create snapshots of the map. - [Offline Maps](https://docs.mapatlas.xyz/overview/sdk/ios-native/ManageOfflineRegionsExample): Query, delete and download offline regions ##### Advanced - [Plugin Layers](https://docs.mapatlas.xyz/overview/sdk/ios-native/PluginLayers): Plugin Layers are a way to add layer types that render themselves into the style parsing engine at runtime. It is a way to dynamically link new layer types to the MapMetrics core -- and styling la... - [Predicates and Expressions](https://docs.mapatlas.xyz/overview/sdk/ios-native/Predicates_and_Expressions): Using NSPredicate with MapMetrics iOS - [Observer Pattern](https://docs.mapatlas.xyz/overview/sdk/ios-native/ObserverExample): Learn about the MLNMapViewDelegate methods for observing map events. - [Action Journal](https://docs.mapatlas.xyz/overview/sdk/ios-native/ActionJournalExample): Learn about the MLNMapView methods for logging and viewing map actions. - [POI Along Route](https://docs.mapatlas.xyz/overview/sdk/ios-native/POIAlongRouteExample): Use an NSPredicate to show POI and road labels along a route. - [Rendering Statistics](https://docs.mapatlas.xyz/overview/sdk/ios-native/RenderingStatisticsHud): Show rendering statistics on the map - [Tile URL Templates](https://docs.mapatlas.xyz/overview/sdk/ios-native/Tile_URL_Templates): Using URL Templates when defining tile sources - [Configuration](https://docs.mapatlas.xyz/overview/sdk/ios-native/Info.plist_Keys): MapMetrics Native for iOS supports custom Info.plist keys in your application in order to configure various settings. #### Android MapMetrics - [Quickstart](https://docs.mapatlas.xyz/overview/sdk/android-native/getting-started): To follow this example from scratch, in Android Studio create a new "Empty Views Activity" and then select "Kotlin" as the language. Select "Groovy DSL" as the build configuration language. - [Configuration](https://docs.mapatlas.xyz/overview/sdk/android-native/configuration): This guide will explain various ways to create a map. - [Using a GeoJSON Source](https://docs.mapatlas.xyz/overview/sdk/android-native/geojson-guide): This guide will teach you how to use GeoJsonSource by deep diving into GeoJSON file format. - [LocationComponent](https://docs.mapatlas.xyz/overview/sdk/android-native/location-component): This guide will demonstrate how to utilize the [LocationComponent] to represent the user's current location. - [Using the Snapshotter](https://docs.mapatlas.xyz/overview/sdk/android-native/snapshotter): This guide will help you walk through how to use MapSnapshotter. ##### Annotations - [Add Markers in Bulk](https://docs.mapatlas.xyz/overview/sdk/android-native/annotations/add-markers): This example demonstrates how you can add markers in bulk. - [Annotation: Marker](https://docs.mapatlas.xyz/overview/sdk/android-native/annotations/marker-annotations): This guide will show you how to add Markers in the map. ##### Camera - [Animation Types](https://docs.mapatlas.xyz/overview/sdk/android-native/camera/animation-types): [//]: # ({{ activity_source_note("CameraAnimationTypeActivity.kt") }}) - [Animator Animation](https://docs.mapatlas.xyz/overview/sdk/android-native/camera/animator-animation): This example showcases how to use the Animator API to schedule a sequence of map animations. - [CameraPosition Capabilities](https://docs.mapatlas.xyz/overview/sdk/android-native/camera/cameraposition): [//]: # ({{ activity_source_note("CameraPositionActivity.kt") }}) - [Gesture Detector](https://docs.mapatlas.xyz/overview/sdk/android-native/camera/gesture-detector): The gesture detector of MapMetrics Android is encapsulated in the mapmetrics-gestures-android package. - [LatLngBounds API](https://docs.mapatlas.xyz/overview/sdk/android-native/camera/lat-lng-bounds): [//]: # ({{ activity_source_note("LatLngBoundsActivity.kt") }}) - [Max/Min Zoom](https://docs.mapatlas.xyz/overview/sdk/android-native/camera/max-min-zoom): [//]: # ({{ activity_source_note("MaxMinZoomActivity.kt") }}) - [Scroll by Method](https://docs.mapatlas.xyz/overview/sdk/android-native/camera/move-map-pixels): [//]: # ({{ activity_source_note("ScrollByActivity.kt") }}) - [Zoom Method](https://docs.mapatlas.xyz/overview/sdk/android-native/camera/zoom-methods): [//]: # ({{ activity_source_note("ManualZoomActivity.kt") }}) - [Orbit Animation](https://docs.mapatlas.xyz/overview/sdk/android-native/camera/orbit-animation): This tutorial shows how to create a smooth orbiting camera animation that rotates around a central point — great for showcasing landmarks or creating cinematic map experiences. - [Set Pitch & Bearing](https://docs.mapatlas.xyz/overview/sdk/android-native/camera/set-pitch-bearing): This tutorial shows how to control the 3D perspective (pitch/tilt) and compass direction (bearing/rotation) of your MapMetrics Android map. ##### Interactions - [Map Click Events](https://docs.mapatlas.xyz/overview/sdk/android-native/interactions/map-click-events): This tutorial covers handling tap, long-press, and feature click events on your MapMetrics Android map. - [Display a Popup](https://docs.mapatlas.xyz/overview/sdk/android-native/interactions/add-a-popup): This tutorial shows how to display custom popup windows when users tap on markers in your MapMetrics Android map. - [Fly to a Location](https://docs.mapatlas.xyz/overview/sdk/android-native/interactions/fly-to-location): This tutorial shows how to animate the camera smoothly to a destination point on your MapMetrics Android map using different animation styles. - [Draw a Polyline Route](https://docs.mapatlas.xyz/overview/sdk/android-native/interactions/polyline-route): This tutorial shows how to draw polyline routes on your MapMetrics Android map using both the annotation API and GeoJSON line layers. - [Draw a Polygon Area](https://docs.mapatlas.xyz/overview/sdk/android-native/interactions/polygon-area): This tutorial shows how to draw filled polygon shapes on your MapMetrics Android map — useful for highlighting zones, districts, or geofences. - [Add a Heatmap](https://docs.mapatlas.xyz/overview/sdk/android-native/interactions/add-a-heatmap): This tutorial shows how to create heatmap visualizations on your MapMetrics Android map — ideal for showing data density like earthquake activity, population, or events. - [Create Clusters](https://docs.mapatlas.xyz/overview/sdk/android-native/interactions/add-a-cluster): This tutorial shows how to cluster large point datasets on your MapMetrics Android map for better performance and readability. - [Multiple Markers with Icons](https://docs.mapatlas.xyz/overview/sdk/android-native/interactions/multiple-markers): This tutorial shows how to add many markers with custom icons, categories, and info windows to your MapMetrics Android map. - [Animate a Marker](https://docs.mapatlas.xyz/overview/sdk/android-native/interactions/animate-marker): This tutorial shows how to smoothly animate a marker moving along a path — useful for showing vehicle tracking, delivery routes, or GPS playback. - [Animate a Line](https://docs.mapatlas.xyz/overview/sdk/android-native/interactions/animate-line): This tutorial shows how to animate a line being progressively drawn on your MapMetrics Android map — great for showing routes, delivery paths, or GPS tracks being traced in real time. - [Measure Distances](https://docs.mapatlas.xyz/overview/sdk/android-native/interactions/measure-distances): This tutorial shows how to build a tap-to-measure tool that calculates distances between points on your MapMetrics Android map using the Haversine formula. - [Fit to Bounding Box](https://docs.mapatlas.xyz/overview/sdk/android-native/interactions/fit-bounds): This tutorial shows how to automatically zoom and position your MapMetrics Android map to fit a set of points, markers, or a region. - [Fullscreen Map](https://docs.mapatlas.xyz/overview/sdk/android-native/interactions/fullscreen-map): This tutorial shows how to create an immersive fullscreen map experience on Android — hiding the status bar, navigation bar, and any toolbars. - [Disable Gestures](https://docs.mapatlas.xyz/overview/sdk/android-native/interactions/disable-gestures): This tutorial shows how to selectively enable or disable map interaction gestures on your MapMetrics Android map — useful for embedded maps, kiosk displays, or guided experiences. - [Restrict Map Panning](https://docs.mapatlas.xyz/overview/sdk/android-native/interactions/restrict-panning): This tutorial shows how to limit the map view to a specific geographic area — useful for city-specific apps, campus maps, or regional applications. - [Draw a Circle](https://docs.mapatlas.xyz/overview/sdk/android-native/interactions/draw-a-circle): This tutorial shows how to draw circular areas on your MapMetrics Android map — useful for showing radius zones, geofences, or proximity areas. - [Jump to Locations](https://docs.mapatlas.xyz/overview/sdk/android-native/interactions/jump-to-locations): This tutorial shows how to navigate through a list of locations one by one — useful for guided tours, location lists, or step-by-step waypoints. - [Custom Image Markers](https://docs.mapatlas.xyz/overview/sdk/android-native/interactions/add-image-marker): This tutorial shows how to use custom images (PNG, SVG, drawable) as marker icons on your MapMetrics Android map instead of the default pin. - [Navigation Controls](https://docs.mapatlas.xyz/overview/sdk/android-native/interactions/navigation-controls): This tutorial shows how to add zoom buttons, compass, and location buttons as on-screen controls for your MapMetrics Android map. - [Multiple Geometries](https://docs.mapatlas.xyz/overview/sdk/android-native/interactions/multiple-geometries): This tutorial shows how to display markers, polylines, polygons, and circles all on the same MapMetrics Android map. - [Toggle Interactions](https://docs.mapatlas.xyz/overview/sdk/android-native/interactions/toggle-interactions): This tutorial shows how to individually enable and disable specific map gestures at runtime — giving users fine-grained control over how they interact with the map. - [Sync Multiple Maps](https://docs.mapatlas.xyz/overview/sdk/android-native/interactions/sync-multiple-maps): This tutorial shows how to display two MapMetrics maps side by side and keep their camera positions synchronized — useful for comparing map styles, before/after views, or satellite vs. street map. - [Slowly Fly to Location](https://docs.mapatlas.xyz/overview/sdk/android-native/interactions/slowly-fly-to-location): This tutorial shows how to create a cinematic slow camera flight — useful for showcases, presentations, or atmospheric map experiences. - [Polygon Info on Click](https://docs.mapatlas.xyz/overview/sdk/android-native/interactions/polygon-info-on-click): This tutorial shows how to display information about a polygon zone when users tap inside it on your MapMetrics Android map. - [Game-Style Controls](https://docs.mapatlas.xyz/overview/sdk/android-native/interactions/game-controls): This tutorial shows how to add D-pad and button controls for navigating the map — useful for kiosk displays, accessibility, or game-like map exploration. - [Migrate from Google Maps](https://docs.mapatlas.xyz/overview/sdk/android-native/interactions/google-maps-migration): This guide helps you migrate an existing Android app from the Google Maps SDK to the MapMetrics SDK, covering the key API differences and code changes needed. ##### Data - [PMTiles](https://docs.mapatlas.xyz/overview/sdk/android-native/data/PMTiles): Starting MapMetrics Android, using PMTiles as a data source is supported. You can prefix your vector tile source with pmtiles:// to load a PMTiles file. The rest of the URL continue with be https:/... - [Vector Tiles](https://docs.mapatlas.xyz/overview/sdk/android-native/data/MVT): [//]: # ({{ activity_source_note("VectorTileActivity.kt") }}) - [GeoJSON from URL](https://docs.mapatlas.xyz/overview/sdk/android-native/data/geojson-from-url): This tutorial shows how to load GeoJSON data from a remote URL and display it on your MapMetrics Android map — useful for loading dynamic datasets, APIs, and external data feeds. - [Multiple Data Sources](https://docs.mapatlas.xyz/overview/sdk/android-native/data/multiple-sources): This tutorial shows how to load and display data from multiple GeoJSON sources simultaneously on your MapMetrics Android map — useful for layering different datasets like POIs, routes, and zones. ##### Styling - [Animated Image Source](https://docs.mapatlas.xyz/overview/sdk/android-native/styling/animated-image-source): [//]: # ({{ activity_source_note("AnimatedImageSourceActivity.kt") }}) - [Animated SymbolLayer](https://docs.mapatlas.xyz/overview/sdk/android-native/styling/animated-symbol-layer): [//]: # ({{ activity_source_note("AnimatedSymbolLayerActivity.kt") }}) - [Building Layer](https://docs.mapatlas.xyz/overview/sdk/android-native/styling/building-layer): [//]: # ({{ activity_source_note("BuildingFillExtrusionActivity.kt") }}) - [Circle Layer (with Clustering)](https://docs.mapatlas.xyz/overview/sdk/android-native/styling/circle-layer): [//]: # ({{ activity_source_note("CircleLayerActivity.kt") }}) - [Add Custom Sprite](https://docs.mapatlas.xyz/overview/sdk/android-native/styling/custom-sprite): [//]: # ({{ activity_source_note("CustomSpriteActivity.kt") }}) - [Data Driven Style](https://docs.mapatlas.xyz/overview/sdk/android-native/styling/data-driven-style): [//]: # ({{ activity_source_note("DataDrivenStyleActivity.kt") }}) - [Distance Expression](https://docs.mapatlas.xyz/overview/sdk/android-native/styling/distance-expression): [//]: # ({{ activity_source_note("DistanceExpressionActivity.kt") }}) - [Draggable Marker](https://docs.mapatlas.xyz/overview/sdk/android-native/styling/draggable-marker): [//]: # ({{ activity_source_note("DraggableMarkerActivity.kt") }}) - [Add live realtime data](https://docs.mapatlas.xyz/overview/sdk/android-native/styling/live-realtime-data): [//]: # ({{ activity_source_note("RealTimeGeoJsonActivity.kt") }}) - [Image Overlay](https://docs.mapatlas.xyz/overview/sdk/android-native/styling/image-overlay): This tutorial shows how to overlay an image (photo, floor plan, historical map) on top of your MapMetrics Android map, positioned at specific geographic coordinates. - [3D Fill Extrusion](https://docs.mapatlas.xyz/overview/sdk/android-native/styling/fill-extrusion-3d): This tutorial shows how to add 3D extruded buildings and shapes to your MapMetrics Android map using FillExtrusionLayer. - [Filter Features](https://docs.mapatlas.xyz/overview/sdk/android-native/styling/filter-features): This tutorial shows how to dynamically filter what's visible on your MapMetrics Android map based on data properties — useful for category filtering, search, and interactive data exploration. - [Custom Styling](https://docs.mapatlas.xyz/overview/sdk/android-native/styling/custom-styling): This tutorial shows how to customize the appearance of your MapMetrics Android map — switching styles, modifying layers at runtime, and applying light/dark themes. #### Migration Guide - [Migration Guide](https://docs.mapatlas.xyz/overview/migration-guide): Migrate your existing maps from Google Maps or Mapbox to MapMetrics Atlas. - [Google Maps to MapMetrics](https://docs.mapatlas.xyz/sdk/examples/google-map-to-mapmetrics): --- - [Mapbox to MapMetrics](https://docs.mapatlas.xyz/overview/sdk/mapbox-migration-guide): This part of the docs is dedicated to the migration from mapbox-gl to MapMetrics GL. ## API Reference - [API Reference](https://docs.mapatlas.xyz/overview/API/README): This file is intended as a reference for the important and public classes of this API. ### Classes - [Actor](https://docs.mapatlas.xyz/overview/API/classes/Actor): Defined in: src/util/actor.ts:56 - [AJAXError](https://docs.mapatlas.xyz/overview/API/classes/AJAXError): Defined in: src/util/ajax.ts:87 - [AlphaImage](https://docs.mapatlas.xyz/overview/API/classes/AlphaImage): Defined in: src/util/image.ts:88 - [AttributionControl](https://docs.mapatlas.xyz/overview/API/classes/AttributionControl): Defined in: src/ui/control/attribution\_control.ts:39 - [BoxZoomHandler](https://docs.mapatlas.xyz/overview/API/classes/BoxZoomHandler): Defined in: src/ui/handler/box\_zoom.ts:16 - [CanonicalTileID](https://docs.mapatlas.xyz/overview/API/classes/CanonicalTileID): Defined in: src/source/tile\_id.ts:14 - [CanvasSource](https://docs.mapatlas.xyz/overview/API/classes/CanvasSource): Defined in: src/source/canvas\_source.ts:66 - [CircleStyleLayer](https://docs.mapatlas.xyz/overview/API/classes/CircleStyleLayer): Defined in: src/style/style\_layer/circle\_style\_layer.ts:20 - [ClickZoomHandler](https://docs.mapatlas.xyz/overview/API/classes/ClickZoomHandler): Defined in: src/ui/handler/click\_zoom.ts:10 - [CooperativeGesturesHandler](https://docs.mapatlas.xyz/overview/API/classes/CooperativeGesturesHandler): Defined in: src/ui/handler/cooperative\_gestures.ts:27 - [DEMData](https://docs.mapatlas.xyz/overview/API/classes/DEMData): Defined in: src/data/dem\_data.ts:22 - [Dispatcher](https://docs.mapatlas.xyz/overview/API/classes/Dispatcher): Defined in: src/util/dispatcher.ts:12 - [DoubleClickZoomHandler](https://docs.mapatlas.xyz/overview/API/classes/DoubleClickZoomHandler): Defined in: src/ui/handler/shim/dblclick\_zoom.ts:10 - [DragPanHandler](https://docs.mapatlas.xyz/overview/API/classes/DragPanHandler): Defined in: src/ui/handler/shim/drag\_pan.ts:37 - [DragRotateHandler](https://docs.mapatlas.xyz/overview/API/classes/DragRotateHandler): Defined in: src/ui/handler/shim/drag\_rotate.ts:25 - [EdgeInsets](https://docs.mapatlas.xyz/overview/API/classes/EdgeInsets): Defined in: src/geo/edge\_insets.ts:12 - [ErrorEvent](https://docs.mapatlas.xyz/overview/API/classes/ErrorEvent): Defined in: src/util/evented.ts:46 - [Event](https://docs.mapatlas.xyz/overview/API/classes/Event): Defined in: src/util/evented.ts:30 - [Evented](https://docs.mapatlas.xyz/overview/API/classes/Evented): Defined in: src/util/evented.ts:59 - [FeatureIndex](https://docs.mapatlas.xyz/overview/API/classes/FeatureIndex): Defined in: src/data/feature\_index.ts:57 - [FullscreenControl](https://docs.mapatlas.xyz/overview/API/classes/FullscreenControl): Defined in: src/ui/control/fullscreen\_control.ts:40 - [GeoJSONFeature](https://docs.mapatlas.xyz/overview/API/classes/GeoJSONFeature): Defined in: src/util/vectortile\_to\_geojson.ts:28 - [GeoJSONSource](https://docs.mapatlas.xyz/overview/API/classes/GeoJSONSource): Defined in: src/source/geojson\_source.ts:111 - [GeolocateControl](https://docs.mapatlas.xyz/overview/API/classes/GeolocateControl): Defined in: src/ui/control/geolocate\_control.ts:240 - [GlobeControl](https://docs.mapatlas.xyz/overview/API/classes/GlobeControl): Defined in: src/ui/control/globe\_control.ts:19 - [Hash](https://docs.mapatlas.xyz/overview/API/classes/Hash): Defined in: src/ui/hash.ts:12 - [HeatmapStyleLayer](https://docs.mapatlas.xyz/overview/API/classes/HeatmapStyleLayer): Defined in: src/style/style\_layer/heatmap\_style\_layer.ts:21 - [ImageAtlas](https://docs.mapatlas.xyz/overview/API/classes/ImageAtlas): Defined in: src/render/image\_atlas.ts:74 - [ImageManager](https://docs.mapatlas.xyz/overview/API/classes/ImageManager): Defined in: src/render/image\_manager.ts:40 - [ImageSource](https://docs.mapatlas.xyz/overview/API/classes/ImageSource): Defined in: src/source/image\_source.ts:93 - [Classes](https://docs.mapatlas.xyz/overview/API/classes/index): This section contains all the classes available in the MapMetrics GL API. - [KeyboardHandler](https://docs.mapatlas.xyz/overview/API/classes/KeyboardHandler): Defined in: src/ui/handler/keyboard.ts:27 - [Layout](https://docs.mapatlas.xyz/overview/API/classes/Layout): Defined in: src/style/properties.ts:315 - [LngLat](https://docs.mapatlas.xyz/overview/API/classes/LngLat): Defined in: src/geo/lng\_lat.ts:53 - [LngLatBounds](https://docs.mapatlas.xyz/overview/API/classes/LngLatBounds): Defined in: src/geo/lng\_lat\_bounds.ts:41 - [LogoControl](https://docs.mapatlas.xyz/overview/API/classes/LogoControl): Defined in: src/ui/control/logo\_control.ts:27 - [Map](https://docs.mapatlas.xyz/overview/API/classes/Map): Defined in: src/ui/map.ts:476 - [MapMouseEvent](https://docs.mapatlas.xyz/overview/API/classes/MapMouseEvent): Defined in: src/ui/events.ts:488 - [MapTouchEvent](https://docs.mapatlas.xyz/overview/API/classes/MapTouchEvent): Defined in: src/ui/events.ts:553 - [MapWheelEvent](https://docs.mapatlas.xyz/overview/API/classes/MapWheelEvent): Defined in: src/ui/events.ts:632 - [Marker](https://docs.mapatlas.xyz/overview/API/classes/Marker): Defined in: src/ui/marker.ts:127 - [MercatorCoordinate](https://docs.mapatlas.xyz/overview/API/classes/MercatorCoordinate): Defined in: src/geo/mercator\_coordinate.ts:78 - [NavigationControl](https://docs.mapatlas.xyz/overview/API/classes/NavigationControl): Defined in: src/ui/control/navigation\_control.ts:52 - [OverscaledTileID](https://docs.mapatlas.xyz/overview/API/classes/OverscaledTileID): Defined in: src/source/tile\_id.ts:87 - [Popup](https://docs.mapatlas.xyz/overview/API/classes/Popup): Defined in: src/ui/popup.ts:168 - [RasterDEMTileSource](https://docs.mapatlas.xyz/overview/API/classes/RasterDEMTileSource): Defined in: src/source/raster\_dem\_tile\_source.ts:37 - [RasterTileSource](https://docs.mapatlas.xyz/overview/API/classes/RasterTileSource): Defined in: src/source/raster\_tile\_source.ts:52 - [RGBAImage](https://docs.mapatlas.xyz/overview/API/classes/RGBAImage): Defined in: src/util/image.ts:114 - [ScaleControl](https://docs.mapatlas.xyz/overview/API/classes/ScaleControl): Defined in: src/ui/control/scale\_control.ts:48 - [ScrollZoomHandler](https://docs.mapatlas.xyz/overview/API/classes/ScrollZoomHandler): Defined in: src/ui/handler/scroll\_zoom.ts:36 - [Style](https://docs.mapatlas.xyz/overview/API/classes/Style): Defined in: src/style/style.ts:201 - [`abstract` StyleLayer](https://docs.mapatlas.xyz/overview/API/classes/StyleLayer): Defined in: src/style/style\_layer.ts:81 - [SubdivisionGranularityExpression](https://docs.mapatlas.xyz/overview/API/classes/SubdivisionGranularityExpression): Defined in: src/render/subdivision\_granularity\_settings.ts:15 - [SubdivisionGranularitySetting](https://docs.mapatlas.xyz/overview/API/classes/SubdivisionGranularitySetting): Defined in: src/render/subdivision\_granularity\_settings.ts:45 - [TapDragZoomHandler](https://docs.mapatlas.xyz/overview/API/classes/TapDragZoomHandler): Defined in: src/ui/handler/tap\_drag\_zoom.ts:8 - [TapZoomHandler](https://docs.mapatlas.xyz/overview/API/classes/TapZoomHandler): Defined in: src/ui/handler/tap\_zoom.ts:10 - [TerrainControl](https://docs.mapatlas.xyz/overview/API/classes/TerrainControl): Defined in: src/ui/control/terrain\_control.ts:20 - [ThrottledInvoker](https://docs.mapatlas.xyz/overview/API/classes/ThrottledInvoker): Defined in: src/util/throttled\_invoker.ts:5 - [Tile](https://docs.mapatlas.xyz/overview/API/classes/Tile): Defined in: src/source/tile.ts:53 - [TouchPanHandler](https://docs.mapatlas.xyz/overview/API/classes/TouchPanHandler): Defined in: src/ui/handler/touch\_pan.ts:9 - [`abstract` TwoFingersTouchHandler](https://docs.mapatlas.xyz/overview/API/classes/TwoFingersTouchHandler): Defined in: src/ui/handler/two\_fingers\_touch.ts:20 - [TwoFingersTouchPitchHandler](https://docs.mapatlas.xyz/overview/API/classes/TwoFingersTouchPitchHandler): Defined in: src/ui/handler/two\_fingers\_touch.ts:253 - [TwoFingersTouchRotateHandler](https://docs.mapatlas.xyz/overview/API/classes/TwoFingersTouchRotateHandler): Defined in: src/ui/handler/two\_fingers\_touch.ts:192 - [TwoFingersTouchZoomHandler](https://docs.mapatlas.xyz/overview/API/classes/TwoFingersTouchZoomHandler): Defined in: src/ui/handler/two\_fingers\_touch.ts:152 - [TwoFingersTouchZoomRotateHandler](https://docs.mapatlas.xyz/overview/API/classes/TwoFingersTouchZoomRotateHandler): Defined in: src/ui/handler/shim/two\_fingers\_touch.ts:13 - [VectorTileSource](https://docs.mapatlas.xyz/overview/API/classes/VectorTileSource): Defined in: src/source/vector\_tile\_source.ts:57 - [VideoSource](https://docs.mapatlas.xyz/overview/API/classes/VideoSource): Defined in: src/source/video\_source.ts:54 - [WorkerPool](https://docs.mapatlas.xyz/overview/API/classes/WorkerPool): Defined in: src/util/worker\_pool.ts:11 ### Functions - [addProtocol()](https://docs.mapatlas.xyz/overview/API/functions/addProtocol): Defined in: src/source/protocol\_crud.ts:33 - [addSourceType()](https://docs.mapatlas.xyz/overview/API/functions/addSourceType): Defined in: src/source/source.ts:186 - [clearPrewarmedResources()](https://docs.mapatlas.xyz/overview/API/functions/clearPrewarmedResources): Defined in: src/util/global\_worker\_pool.ts:54 - [createTileMesh()](https://docs.mapatlas.xyz/overview/API/functions/createTileMesh): Defined in: src/util/create\_tile\_mesh.ts:117 - [getMaxParallelImageRequests()](https://docs.mapatlas.xyz/overview/API/functions/getMaxParallelImageRequests): Defined in: src/index.ts:123 - [getRTLTextPluginStatus()](https://docs.mapatlas.xyz/overview/API/functions/getRTLTextPluginStatus): Defined in: src/index.ts:82 - [getVersion()](https://docs.mapatlas.xyz/overview/API/functions/getVersion): Defined in: src/index.ts:89 - [getWorkerCount()](https://docs.mapatlas.xyz/overview/API/functions/getWorkerCount): Defined in: src/index.ts:101 - [getWorkerUrl()](https://docs.mapatlas.xyz/overview/API/functions/getWorkerUrl): Defined in: src/index.ts:138 - [importScriptInWorkers()](https://docs.mapatlas.xyz/overview/API/functions/importScriptInWorkers): Defined in: src/index.ts:174 - [Functions](https://docs.mapatlas.xyz/overview/API/functions/index): This section contains all the functions available in the MapMetrics GL API. - [prewarm()](https://docs.mapatlas.xyz/overview/API/functions/prewarm): Defined in: src/util/global\_worker\_pool.ts:38 - [removeProtocol()](https://docs.mapatlas.xyz/overview/API/functions/removeProtocol): Defined in: src/source/protocol\_crud.ts:46 - [setMaxParallelImageRequests()](https://docs.mapatlas.xyz/overview/API/functions/setMaxParallelImageRequests): Defined in: src/index.ts:133 - [setRTLTextPlugin()](https://docs.mapatlas.xyz/overview/API/functions/setRTLTextPlugin): Defined in: src/index.ts:69 - [setWorkerCount()](https://docs.mapatlas.xyz/overview/API/functions/setWorkerCount): Defined in: src/index.ts:112 - [setWorkerUrl()](https://docs.mapatlas.xyz/overview/API/functions/setWorkerUrl): Defined in: src/index.ts:142 ### Interfaces - [ActorTarget](https://docs.mapatlas.xyz/overview/API/interfaces/ActorTarget): Defined in: src/util/actor.ts:13 - [AttributeBinder](https://docs.mapatlas.xyz/overview/API/interfaces/AttributeBinder): Defined in: src/data/program\_configuration.ts:70 - [Bucket](https://docs.mapatlas.xyz/overview/API/interfaces/Bucket): Defined in: src/data/bucket.ts:79 - [CustomLayerInterface](https://docs.mapatlas.xyz/overview/API/interfaces/CustomLayerInterface): Defined in: src/style/style\_layer/custom\_style\_layer.ts:188 - [Handler](https://docs.mapatlas.xyz/overview/API/interfaces/Handler): Defined in: src/ui/handler\_manager.ts:40 - [IActor](https://docs.mapatlas.xyz/overview/API/interfaces/IActor): Defined in: src/util/actor.ts:42 - [IControl](https://docs.mapatlas.xyz/overview/API/interfaces/IControl): Defined in: src/ui/control/control.ts:37 - [Interfaces](https://docs.mapatlas.xyz/overview/API/interfaces/index): This section contains all the interfaces available in the MapMetrics GL API. - [MousePanHandler](https://docs.mapatlas.xyz/overview/API/interfaces/MousePanHandler): Defined in: src/ui/handler/mouse.ts:11 - [MousePitchHandler](https://docs.mapatlas.xyz/overview/API/interfaces/MousePitchHandler): Defined in: src/ui/handler/mouse.ts:19 - [MouseRollHandler](https://docs.mapatlas.xyz/overview/API/interfaces/MouseRollHandler): Defined in: src/ui/handler/mouse.ts:23 - [MouseRotateHandler](https://docs.mapatlas.xyz/overview/API/interfaces/MouseRotateHandler): Defined in: src/ui/handler/mouse.ts:15 - [Projection](https://docs.mapatlas.xyz/overview/API/interfaces/Projection): Defined in: src/geo/projection/projection.ts:45 - [Source](https://docs.mapatlas.xyz/overview/API/interfaces/Source): Defined in: src/source/source.ts:30 - [StyleImageInterface](https://docs.mapatlas.xyz/overview/API/interfaces/StyleImageInterface): Defined in: src/style/style\_image.ts:148 - [Subscription](https://docs.mapatlas.xyz/overview/API/interfaces/Subscription): Defined in: src/util/util.ts:914 ### Type Aliases - [ActorMessage](https://docs.mapatlas.xyz/overview/API/type-aliases/ActorMessage): Defined in: src/util/actor\_messages.ts:143 - [AddLayerObject](https://docs.mapatlas.xyz/overview/API/type-aliases/AddLayerObject): Defined in: src/style/style.ts:196 - [AddProtocolAction()](https://docs.mapatlas.xyz/overview/API/type-aliases/AddProtocolAction): Defined in: src/util/config.ts:8 - [Alignment](https://docs.mapatlas.xyz/overview/API/type-aliases/Alignment): Defined in: src/ui/marker.ts:18 - [AnimationOptions](https://docs.mapatlas.xyz/overview/API/type-aliases/AnimationOptions): Defined in: src/ui/camera.ts:205 - [AroundCenterOptions](https://docs.mapatlas.xyz/overview/API/type-aliases/AroundCenterOptions): Defined in: src/ui/handler/two\_fingers\_touch.ts:9 - [AttributionControlOptions](https://docs.mapatlas.xyz/overview/API/type-aliases/AttributionControlOptions): Defined in: src/ui/control/attribution\_control.ts:10 - [CalculateTileZoomFunction()](https://docs.mapatlas.xyz/overview/API/type-aliases/CalculateTileZoomFunction): Defined in: src/geo/projection/covering\_tiles.ts:72 - [CameraForBoundsOptions](https://docs.mapatlas.xyz/overview/API/type-aliases/CameraForBoundsOptions): Defined in: src/ui/camera.ts:104 - [CameraOptions](https://docs.mapatlas.xyz/overview/API/type-aliases/CameraOptions): Defined in: src/ui/camera.ts:54 - [CameraUpdateTransformFunction()](https://docs.mapatlas.xyz/overview/API/type-aliases/CameraUpdateTransformFunction): Defined in: src/ui/camera.ts:239 - [CanvasSourceSpecification](https://docs.mapatlas.xyz/overview/API/type-aliases/CanvasSourceSpecification): Defined in: src/source/canvas\_source.ts:14 - [CenterZoomBearing](https://docs.mapatlas.xyz/overview/API/type-aliases/CenterZoomBearing): Defined in: src/ui/camera.ts:75 - [CircleGranularity](https://docs.mapatlas.xyz/overview/API/type-aliases/CircleGranularity): Defined in: src/render/subdivision\_granularity\_settings.ts:10 - [ClusterIDAndSource](https://docs.mapatlas.xyz/overview/API/type-aliases/ClusterIDAndSource): Defined in: src/util/actor\_messages.ts:14 - [Complete](https://docs.mapatlas.xyz/overview/API/type-aliases/Complete): Defined in: src/util/util.ts:1040 - [Config](https://docs.mapatlas.xyz/overview/API/type-aliases/Config): Defined in: src/util/config.ts:15 - [ControlPosition](https://docs.mapatlas.xyz/overview/API/type-aliases/ControlPosition): Defined in: src/ui/control/control.ts:7 - [Coordinates](https://docs.mapatlas.xyz/overview/API/type-aliases/Coordinates): Defined in: src/source/image\_source.ts:27 - [CreateTileMeshOptions](https://docs.mapatlas.xyz/overview/API/type-aliases/CreateTileMeshOptions): Defined in: src/util/create\_tile\_mesh.ts:22 - [CrossFaded](https://docs.mapatlas.xyz/overview/API/type-aliases/CrossFaded): Defined in: src/style/properties.ts:19 - [CustomRenderMethod()](https://docs.mapatlas.xyz/overview/API/type-aliases/CustomRenderMethod): Defined in: src/style/style\_layer/custom\_style\_layer.ts:114 - [CustomRenderMethodInput](https://docs.mapatlas.xyz/overview/API/type-aliases/CustomRenderMethodInput): Defined in: src/style/style\_layer/custom\_style\_layer.ts:10 - [DashEntry](https://docs.mapatlas.xyz/overview/API/type-aliases/DashEntry): Defined in: src/render/line\_atlas.ts:8 - [DEMEncoding](https://docs.mapatlas.xyz/overview/API/type-aliases/DEMEncoding): Defined in: src/data/dem\_data.ts:9 - [DistributiveKeys](https://docs.mapatlas.xyz/overview/API/type-aliases/DistributiveKeys): Defined in: src/util/vectortile\_to\_geojson.ts:7 - [DistributiveOmit](https://docs.mapatlas.xyz/overview/API/type-aliases/DistributiveOmit): Defined in: src/util/vectortile\_to\_geojson.ts:11 - [DragPanOptions](https://docs.mapatlas.xyz/overview/API/type-aliases/DragPanOptions): Defined in: src/ui/handler/shim/drag\_pan.ts:7 - [DragRotateHandlerOptions](https://docs.mapatlas.xyz/overview/API/type-aliases/DragRotateHandlerOptions): Defined in: src/ui/handler/shim/drag\_rotate.ts:6 - [EaseToOptions](https://docs.mapatlas.xyz/overview/API/type-aliases/EaseToOptions): Defined in: src/ui/camera.ts:167 - [ExpiryData](https://docs.mapatlas.xyz/overview/API/type-aliases/ExpiryData): Defined in: src/util/ajax.ts:14 - [FeatureIdentifier](https://docs.mapatlas.xyz/overview/API/type-aliases/FeatureIdentifier): Defined in: src/style/style.ts:76 - [FitBoundsOptions](https://docs.mapatlas.xyz/overview/API/type-aliases/FitBoundsOptions): Defined in: src/ui/camera.ts:181 - [FlyToOptions](https://docs.mapatlas.xyz/overview/API/type-aliases/FlyToOptions): Defined in: src/ui/camera.ts:123 - [FullscreenControlOptions](https://docs.mapatlas.xyz/overview/API/type-aliases/FullscreenControlOptions): Defined in: src/ui/control/fullscreen\_control.ts:12 - [GeoJSONFeatureDiff](https://docs.mapatlas.xyz/overview/API/type-aliases/GeoJSONFeatureDiff): Defined in: src/source/geojson\_source\_diff.ts:31 - [GeoJSONFeatureId](https://docs.mapatlas.xyz/overview/API/type-aliases/GeoJSONFeatureId): Defined in: src/source/geojson\_source\_diff.ts:4 - [GeoJSONSourceDiff](https://docs.mapatlas.xyz/overview/API/type-aliases/GeoJSONSourceDiff): Defined in: src/source/geojson\_source\_diff.ts:9 - [GeoJSONSourceOptions](https://docs.mapatlas.xyz/overview/API/type-aliases/GeoJSONSourceOptions): Defined in: src/source/geojson\_source.ts:23 - [GeoJSONWorkerOptions](https://docs.mapatlas.xyz/overview/API/type-aliases/GeoJSONWorkerOptions): Defined in: src/source/geojson\_worker\_source.ts:25 - [GeoJSONWorkerSourceLoadDataResult](https://docs.mapatlas.xyz/overview/API/type-aliases/GeoJSONWorkerSourceLoadDataResult): Defined in: src/util/actor\_messages.ts:28 - [GeolocateControlOptions](https://docs.mapatlas.xyz/overview/API/type-aliases/GeolocateControlOptions): Defined in: src/ui/control/geolocate\_control.ts:16 - [GestureOptions](https://docs.mapatlas.xyz/overview/API/type-aliases/GestureOptions): Defined in: src/ui/handler/cooperative\_gestures.ts:10 - [GetClusterLeavesParams](https://docs.mapatlas.xyz/overview/API/type-aliases/GetClusterLeavesParams): Defined in: src/util/actor\_messages.ts:23 - [GetGlyphsParameters](https://docs.mapatlas.xyz/overview/API/type-aliases/GetGlyphsParameters): Defined in: src/util/actor\_messages.ts:62 - [GetGlyphsResponse](https://docs.mapatlas.xyz/overview/API/type-aliases/GetGlyphsResponse): Defined in: src/util/actor\_messages.ts:72 - [GetImagesParameters](https://docs.mapatlas.xyz/overview/API/type-aliases/GetImagesParameters): Defined in: src/util/actor\_messages.ts:52 - [GetImagesResponse](https://docs.mapatlas.xyz/overview/API/type-aliases/GetImagesResponse): Defined in: src/util/actor\_messages.ts:81 - [GetResourceResponse](https://docs.mapatlas.xyz/overview/API/type-aliases/GetResourceResponse): Defined in: src/util/ajax.ts:70 - [GlyphMetrics](https://docs.mapatlas.xyz/overview/API/type-aliases/GlyphMetrics): Defined in: src/style/style\_glyph.ts:6 - [GlyphPosition](https://docs.mapatlas.xyz/overview/API/type-aliases/GlyphPosition): Defined in: src/render/glyph\_atlas.ts:23 - [GlyphPositions](https://docs.mapatlas.xyz/overview/API/type-aliases/GlyphPositions): Defined in: src/render/glyph\_atlas.ts:31 - [GridKey](https://docs.mapatlas.xyz/overview/API/type-aliases/GridKey): Defined in: src/symbol/grid\_index.ts:32 - [HandlerResult](https://docs.mapatlas.xyz/overview/API/type-aliases/HandlerResult): Defined in: src/ui/handler\_manager.ts:81 - [Type Aliases](https://docs.mapatlas.xyz/overview/API/type-aliases/index): This section contains all the type aliases available in the MapMetrics GL API. - [IndicesType](https://docs.mapatlas.xyz/overview/API/type-aliases/IndicesType): Defined in: src/util/create\_tile\_mesh.ts:66 - [JumpToOptions](https://docs.mapatlas.xyz/overview/API/type-aliases/JumpToOptions): Defined in: src/ui/camera.ts:94 - [Listener()](https://docs.mapatlas.xyz/overview/API/type-aliases/Listener): Defined in: src/util/evented.ts:6 - [LngLatBoundsLike](https://docs.mapatlas.xyz/overview/API/type-aliases/LngLatBoundsLike): Defined in: src/geo/lng\_lat\_bounds.ts:20 - [LngLatLike](https://docs.mapatlas.xyz/overview/API/type-aliases/LngLatLike): Defined in: src/geo/lng\_lat.ts:23 - [LoadGeoJSONParameters](https://docs.mapatlas.xyz/overview/API/type-aliases/LoadGeoJSONParameters): Defined in: src/source/geojson\_worker\_source.ts:39 - [LogoControlOptions](https://docs.mapatlas.xyz/overview/API/type-aliases/LogoControlOptions): Defined in: src/ui/control/logo\_control.ts:9 - [MapContextEvent](https://docs.mapatlas.xyz/overview/API/type-aliases/MapContextEvent): Defined in: src/ui/events.ts:768 - [MapDataEvent](https://docs.mapatlas.xyz/overview/API/type-aliases/MapDataEvent): Defined in: src/ui/events.ts:721 - [MapEventType](https://docs.mapatlas.xyz/overview/API/type-aliases/MapEventType): Defined in: src/ui/events.ts:149 - [MapGeoJSONFeature](https://docs.mapatlas.xyz/overview/API/type-aliases/MapGeoJSONFeature): Defined in: src/util/vectortile\_to\_geojson.ts:18 - [MapLayerEventType](https://docs.mapatlas.xyz/overview/API/type-aliases/MapLayerEventType): Defined in: src/ui/events.ts:49 - [MapLayerMouseEvent](https://docs.mapatlas.xyz/overview/API/type-aliases/MapLayerMouseEvent): Defined in: src/ui/events.ts:17 - [MapLayerTouchEvent](https://docs.mapatlas.xyz/overview/API/type-aliases/MapLayerTouchEvent): Defined in: src/ui/events.ts:24 - [mapmetricsEvent](https://docs.mapatlas.xyz/overview/API/type-aliases/MapLibreEvent): Defined in: src/ui/events.ts:433 - [mapmetricsZoomEvent](https://docs.mapatlas.xyz/overview/API/type-aliases/MapLibreZoomEvent): Defined in: src/ui/events.ts:678 - [MapOptions](https://docs.mapatlas.xyz/overview/API/type-aliases/MapOptions): Defined in: src/ui/map.ts:80 - [MapProjectionEvent](https://docs.mapatlas.xyz/overview/API/type-aliases/MapProjectionEvent): Defined in: src/ui/events.ts:750 - [MapSourceDataEvent](https://docs.mapatlas.xyz/overview/API/type-aliases/MapSourceDataEvent): Defined in: src/ui/events.ts:453 - [MapSourceDataType](https://docs.mapatlas.xyz/overview/API/type-aliases/MapSourceDataType): Defined in: src/ui/events.ts:29 - [MapStyleDataEvent](https://docs.mapatlas.xyz/overview/API/type-aliases/MapStyleDataEvent): Defined in: src/ui/events.ts:444 - [MapStyleImageMissingEvent](https://docs.mapatlas.xyz/overview/API/type-aliases/MapStyleImageMissingEvent): Defined in: src/ui/events.ts:780 - [MapTerrainEvent](https://docs.mapatlas.xyz/overview/API/type-aliases/MapTerrainEvent): Defined in: src/ui/events.ts:741 - [MarkerOptions](https://docs.mapatlas.xyz/overview/API/type-aliases/MarkerOptions): Defined in: src/ui/marker.ts:23 - [MessageData](https://docs.mapatlas.xyz/overview/API/type-aliases/MessageData): Defined in: src/util/actor.ts:23 - [NavigationControlOptions](https://docs.mapatlas.xyz/overview/API/type-aliases/NavigationControlOptions): Defined in: src/ui/control/navigation\_control.ts:14 - [Offset](https://docs.mapatlas.xyz/overview/API/type-aliases/Offset): Defined in: src/ui/popup.ts:34 - [OverlapMode](https://docs.mapatlas.xyz/overview/API/type-aliases/OverlapMode): Defined in: src/style/style\_layer/overlap\_mode.ts:8 - [PaddingOptions](https://docs.mapatlas.xyz/overview/API/type-aliases/PaddingOptions): Defined in: src/geo/edge\_insets.ts:129 - [PluginState](https://docs.mapatlas.xyz/overview/API/type-aliases/PluginState): Defined in: src/source/rtl\_text\_plugin\_status.ts:27 - [PointLike](https://docs.mapatlas.xyz/overview/API/type-aliases/PointLike): Defined in: src/ui/camera.ts:30 - [PointProjection](https://docs.mapatlas.xyz/overview/API/type-aliases/PointProjection): Defined in: src/symbol/projection.ts:23 - [PopupOptions](https://docs.mapatlas.xyz/overview/API/type-aliases/PopupOptions): Defined in: src/ui/popup.ts:41 - [PositionAnchor](https://docs.mapatlas.xyz/overview/API/type-aliases/PositionAnchor): Defined in: src/ui/anchor.ts:5 - [PossiblyEvaluatedValue](https://docs.mapatlas.xyz/overview/API/type-aliases/PossiblyEvaluatedValue): Defined in: src/style/properties.ts:381 - [ProjectionData](https://docs.mapatlas.xyz/overview/API/type-aliases/ProjectionData): Defined in: src/geo/projection/projection\_data.ts:8 - [ProjectionDataParams](https://docs.mapatlas.xyz/overview/API/type-aliases/ProjectionDataParams): Defined in: src/geo/projection/projection\_data.ts:53 - [QueryRenderedFeaturesOptions](https://docs.mapatlas.xyz/overview/API/type-aliases/QueryRenderedFeaturesOptions): Defined in: src/source/query\_features.ts:21 - [QuerySourceFeatureOptions](https://docs.mapatlas.xyz/overview/API/type-aliases/QuerySourceFeatureOptions): Defined in: src/source/query\_features.ts:48 - [Rect](https://docs.mapatlas.xyz/overview/API/type-aliases/Rect): Defined in: src/render/glyph\_atlas.ts:13 - [RemoveSourceParams](https://docs.mapatlas.xyz/overview/API/type-aliases/RemoveSourceParams): Defined in: src/util/actor\_messages.ts:36 - [RequestParameters](https://docs.mapatlas.xyz/overview/API/type-aliases/RequestParameters): Defined in: src/util/ajax.ts:32 - [RequestResponseMessageMap](https://docs.mapatlas.xyz/overview/API/type-aliases/RequestResponseMessageMap): Defined in: src/util/actor\_messages.ts:115 - [RequestTransformFunction()](https://docs.mapatlas.xyz/overview/API/type-aliases/RequestTransformFunction): Defined in: src/util/request\_manager.ts:21 - [RequireAtLeastOne](https://docs.mapatlas.xyz/overview/API/type-aliases/RequireAtLeastOne): Defined in: src/util/util.ts:1047 - [RTLPluginStatus](https://docs.mapatlas.xyz/overview/API/type-aliases/RTLPluginStatus): Defined in: src/source/rtl\_text\_plugin\_status.ts:16 - [ScaleControlOptions](https://docs.mapatlas.xyz/overview/API/type-aliases/ScaleControlOptions): Defined in: src/ui/control/scale\_control.ts:14 - [Serialized](https://docs.mapatlas.xyz/overview/API/type-aliases/Serialized): Defined in: src/util/web\_worker\_transfer.ts:17 - [SerializedObject](https://docs.mapatlas.xyz/overview/API/type-aliases/SerializedObject): Defined in: src/util/web\_worker\_transfer.ts:10 - [SerializedStructArray](https://docs.mapatlas.xyz/overview/API/type-aliases/SerializedStructArray): Defined in: src/util/struct\_array.ts:70 - [SetClusterOptions](https://docs.mapatlas.xyz/overview/API/type-aliases/SetClusterOptions): Defined in: src/source/geojson\_source.ts:41 - [SourceClass()](https://docs.mapatlas.xyz/overview/API/type-aliases/SourceClass): Defined in: src/source/source.ts:129 - [SpriteOnDemandStyleImage](https://docs.mapatlas.xyz/overview/API/type-aliases/SpriteOnDemandStyleImage): Defined in: src/style/style\_image.ts:15 - [StyleGlyph](https://docs.mapatlas.xyz/overview/API/type-aliases/StyleGlyph): Defined in: src/style/style\_glyph.ts:21 - [StyleImage](https://docs.mapatlas.xyz/overview/API/type-aliases/StyleImage): Defined in: src/style/style\_image.ts:92 - [StyleImageData](https://docs.mapatlas.xyz/overview/API/type-aliases/StyleImageData): Defined in: src/style/style\_image.ts:26 - [StyleImageMetadata](https://docs.mapatlas.xyz/overview/API/type-aliases/StyleImageMetadata): Defined in: src/style/style\_image.ts:58 - [StyleOptions](https://docs.mapatlas.xyz/overview/API/type-aliases/StyleOptions): Defined in: src/style/style.ts:94 - [StyleSetterOptions](https://docs.mapatlas.xyz/overview/API/type-aliases/StyleSetterOptions): Defined in: src/style/style.ts:112 - [StyleSwapOptions](https://docs.mapatlas.xyz/overview/API/type-aliases/StyleSwapOptions): Defined in: src/style/style.ts:179 - [SymbolQuad](https://docs.mapatlas.xyz/overview/API/type-aliases/SymbolQuad): Defined in: src/symbol/quads.ts:26 - [TileMesh](https://docs.mapatlas.xyz/overview/API/type-aliases/TileMesh): Defined in: src/util/create\_tile\_mesh.ts:47 - [TileParameters](https://docs.mapatlas.xyz/overview/API/type-aliases/TileParameters): Defined in: src/source/worker\_source.ts:21 - [TileState](https://docs.mapatlas.xyz/overview/API/type-aliases/TileState): Defined in: src/source/tile.ts:47 - [TransformStyleFunction()](https://docs.mapatlas.xyz/overview/API/type-aliases/TransformStyleFunction): Defined in: src/style/style.ts:174 - [Unit](https://docs.mapatlas.xyz/overview/API/type-aliases/Unit): Defined in: src/ui/control/scale\_control.ts:9 - [UpdateImageOptions](https://docs.mapatlas.xyz/overview/API/type-aliases/UpdateImageOptions): Defined in: src/source/image\_source.ts:32 - [UpdateLayersParameters](https://docs.mapatlas.xyz/overview/API/type-aliases/UpdateLayersParameters): Defined in: src/util/actor\_messages.ts:44 - [WorkerDEMTileParameters](https://docs.mapatlas.xyz/overview/API/type-aliases/WorkerDEMTileParameters): Defined in: src/source/worker\_source.ts:48 - [WorkerTileParameters](https://docs.mapatlas.xyz/overview/API/type-aliases/WorkerTileParameters): Defined in: src/source/worker\_source.ts:30 - [WorkerTileResult](https://docs.mapatlas.xyz/overview/API/type-aliases/WorkerTileResult): Defined in: src/source/worker\_source.ts:60 ### Enumerations - [Enumerations](https://docs.mapatlas.xyz/overview/API/enumerations/index): This section contains all the enumerations available in the MapMetrics GL API. - [MessageType](https://docs.mapatlas.xyz/overview/API/enumerations/MessageType): Defined in: src/util/actor\_messages.ts:86 - [ResourceType](https://docs.mapatlas.xyz/overview/API/enumerations/ResourceType): Defined in: src/util/request\_manager.ts:6 - [TextFit](https://docs.mapatlas.xyz/overview/API/enumerations/TextFit): Defined in: src/style/style\_image.ts:37 ## Other pages - [404 — Page Not Found](https://docs.mapatlas.xyz/404):