GeoJSON
Stay organized with collections
Save and categorize content based on your preferences.
Page Summary
-
This page demonstrates how to render geographic data in GeoJSON format on Google Maps using the
GMUGeoJSONParserandGMUGeometryRenderer. -
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
importGoogleMapsUtils classGeoJSON{ privatevarmapView:GMSMapView! funcrenderGeoJSON(){ guardletpath=Bundle.main.path(forResource:"GeoJSON_sample",ofType:"json")else{ return } leturl=URL(fileURLWithPath:path) letgeoJsonParser=GMUGeoJSONParser(url:url) geoJsonParser.parse() letrenderer=GMUGeometryRenderer(map:mapView,geometries:geoJsonParser.features) renderer.render() } }
Objective-C
@importGoogleMapsUtils; @implementation GeoJSON { GMSMapView*_mapView; } - (void)renderGeoJSON{ NSString*path=[[NSBundlemainBundle]pathForResource:@"GeoJSON_sample"ofType:@"json"]; NSURL*url=[NSURLfileURLWithPath:path]; GMUGeoJSONParser*parser=[[GMUGeoJSONParseralloc]initWithURL:url]; [parserparse]; GMUGeometryRenderer*renderer=[[GMUGeometryRendereralloc]initWithMap:_mapView geometries:parser.features]; [rendererrender]; } @end