Contents

ARGeoTrackingConfiguration

A configuration that tracks locations with GPS, map data, and a device’s compass.

Declaration

class ARGeoTrackingConfiguration

Overview

This configuration creates location anchors (ARGeoAnchor) that specify a particular latitude, longitude, and optionally, altitude to enable an app to track geographic areas of interest in an AR experience.

Geotracking occurs exclusively outdoors. If a geotracking app navigates users between waypoints, your app needs to handle any events along a route. The user must have an internet connection, and you can provide them information about data usage, as described in ARGeoAnchor.

Encourage user safety

To keep your users’ focus on the road while traveling, discourage them from looking at the device when in motion, such as while riding a bike. Keep users informed when navigating through unfamiliar territory. For instance, you can recommend they steer clear of private property, or remind them to check their device’s battery level before beginning a long route.

Refine the user’s position with imagery

To place location anchors with precision, geotracking requires a better understanding of the user’s geographic location than is possible with GPS alone. Based on the user’s GPS coordinates, ARKit downloads imagery that depicts the physical environment in that area. Apple collects this localization imagery in advance by capturing photos of the view from the street and recording the geographic position at each photo. By comparing the device’s current camera image with this imagery, the session matches the user’s precise geographic location with the scene’s local coordinates. For information about the user’s position in local space, see transform.

Localization imagery captures views from public streets and routes accessible by car, but doesn’t include images of gated or pedestrian-only areas.

Geotracking sessions use localization imagery in the ARGeoTrackingStatus.State.localizing state.

Supported areas and cities

Localization imagery is available for specific areas in over 20 countries, including many metropolitan areas in Australia, Europe, Japan, and North America. To check availability in a particular location, see the checkAvailability(completionHandler:) function.

Topics

Creating a configuration

Checking availability

Tracking surfaces

Detecting or tracking images

Detecting real-world objects

Creating realistic reflections

Accessing app clip codes

See Also

Spatial Tracking