AI-generated Key Takeaways
-
This page demonstrates how to render geographic data in GeoJSON format on Google Maps using the
GMUGeoJSONParser
andGMUGeometryRenderer
. -
GeoJSON is a commonly used format for displaying geographic data like points, lines, and polygons.
-
You'll need to set up the Maps SDK for iOS Utility Library before using
GMUGeoJSONParser
. -
The provided code examples show how to render GeoJSON data on a map in both Swift and Objective-C.
This page shows you how to render geographic data in the GeoJSON format, using GMUGeoJSONParser
, in conjunction with GMUGeometryRenderer
. GeoJSON is a popular format for rendering geographic data such as points, lines, and polygons.
Prerequisites and notes
GMUGeoJSONParser
is part of the Maps SDK for iOS Utility Library. If you haven't yet set up the library, follow the setup guide before reading the rest of this page.
For the full code sample, see the sample apps on GitHub.
Rendering GeoJSON data
To render GeoJSON data on a map, create a GMUGeoJSONParser
with the path to a GeoJSON resource (GeoJSON_sample.kml
in this example). Then, create a GMUGeometryRenderer
, passing the GMUKMLParser
instance. Finally, call GMUGeometryRenderer.render()
. The following code example shows rendering GeoJSON data on a map:
Swift
import GoogleMapsUtils class GeoJSON { private var mapView: GMSMapView! func renderGeoJSON() { guard let path = Bundle.main.path(forResource: "GeoJSON_sample", ofType: "json") else { return } let url = URL(fileURLWithPath: path) let geoJsonParser = GMUGeoJSONParser(url: url) geoJsonParser.parse() let renderer = GMUGeometryRenderer(map: mapView, geometries: geoJsonParser.features) renderer.render() } }
Objective-C
@import GoogleMapsUtils; @implementation GeoJSON { GMSMapView *_mapView; } - (void)renderGeoJSON { NSString *path = [[NSBundle mainBundle] pathForResource:@"GeoJSON_sample" ofType:@"json"]; NSURL *url = [NSURL fileURLWithPath:path]; GMUGeoJSONParser *parser = [[GMUGeoJSONParser alloc] initWithURL:url]; [parser parse]; GMUGeometryRenderer *renderer = [[GMUGeometryRenderer alloc] initWithMap:_mapView geometries:parser.features]; [renderer render]; } @end