GeoJSON

Выберите платформу: Android iOS JavaScript

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

Требования и примечания

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

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

Отрисовка данных GeoJSON

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

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