GeoJSON

Оптимизируйте свои подборки Сохраняйте и классифицируйте контент в соответствии со своими настройками.
Выберите платформу: Android iOS JavaScript

На этой странице показано, как визуализировать географические данные в формате GeoJSON с помощью GMUGeoJSONParser в сочетании с GMUGeometryRenderer . GeoJSON — это популярный формат для отображения географических данных, таких как точки, линии и полигоны.

Предпосылки и примечания

GMUGeoJSONParser входит в Maps SDK for iOS Utility Library . Если вы еще не настроили библиотеку, следуйте руководству по установке, прежде чем читать оставшуюся часть этой страницы.

Полный пример кода см. в разделе Примеры приложений на GitHub .

Отображение данных GeoJSON

Чтобы отобразить данные GeoJSON на карте, создайте GMUGeoJSONParser с путем к ресурсу GeoJSON (в этом примере — GeoJSON_sample.kml ). Затем создайте GMUGeometryRenderer , передав экземпляр GMUKMLParser . Наконец, вызовите GMUGeometryRenderer.render() . В следующем примере кода показано отображение данных GeoJSON на карте:

Быстрый

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()
  }
}
      

Цель-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