Overview of the Utility Library

Stay organized with collections Save and categorize content based on your preferences.
Select platform: Android iOS

Looking for advanced features to add to your maps? The Maps SDK for iOS Utility Library on GitHub is an open-source library of classes that are useful for a range of applications. The GitHub repository includes the utility classes and a demo app that illustrates the use of each class.

The utilities

A map with clustered markers in the default style

Marker Clustering

The GMUClusterManager helps you manage multiple markers at different zoom levels. This means you can put a large number of markers on a map without making the map hard to read. When a user views the map at a high zoom level, the individual markers show on the map. When the user zooms out to a lower zoom level, the markers gather together into clusters, to make viewing the map easier.

For details, see the documentation on the Marker Clustering.

No image for this utility.


A quadtree is a data structure that's useful for finding points near a single point, by searching inside an area surrounding the point of interest.

For details, see the documentation on the Quadtree.

A map with KML data


KML is a popular format for rendering geographic data such as points, lines, and polygons. The GMUKMLParser lets you parse and render geographic data in the KML format.

For details, see the documentation on the KML.

A map with a GeoJSON layer

Import GeoJSON onto your map

You can store features in GeoJSON format and use this utility to render them as a layer on top of a map. Render geographic data in the GeoJSON format using GMUGeoJSONParser in conjunction with GMUGeometryRenderer.

For details, see the documentation on the GeoJSON.

A map with a heatmap showing location of police stations


Heatmaps make it easy for viewers to understand the distribution and relative intensity of data points on a map. Rather than placing a marker at each location, heatmaps use color and shape to represent the distribution of data.

For details, see the documentation on the Heatmaps.

A map with custom markers showing images

Custom markers

Use the delegate GMUClusterRendererDelegate on GMUDefaultClusterRenderer to customize the properties of a marker before and after it is added to the map.

A map showing the disatance between to coordinates

Geometry utilities

A set of Swift spherical geometry utility functions of the GMSGeometryUtils module of the Maps SDK for iOS. Use these extensions to perform many types of geometric operations, including:

  • Determine the great circle distance between coordinates
  • Determine if a coordinate is inside a polygon
  • Determine if a coordinate lies on or near a path within a specified tolerance
  • Determine the area of this polygon
  • many others