Пример для Java

Если вы хотите использовать в проекте классы gtfs-realtime-bindings Java, сначала необходимо добавить соответствующую зависимость. Мы публикуем свой модуль в центральном хранилище Maven, чтобы он был доступен для таких инструментов разработки на Java, как Maven, Ivy и Gradle.

В приведенных ниже фрагментах зависимостей замените X.Y.Z номером последней версии из центрального хранилища Maven.

Для Maven добавьте в раздел зависимостей pom.xml следующие строки:

<dependency>
  <groupId>com.google.transit</groupId>
  <artifactId>gtfs-realtime-bindings</artifactId>
  <version>X.Y.Z</version>
</dependency>

Для Gradle добавьте в раздел зависимостей build.gradle следующую строку:

compile group: 'org.google.transit', name: 'gtfs-realtime-bindings', version: 'X.Y.Z'

В приведенном ниже примере показано, как скачать фид данных GTFS Realtime с указанного URL, проанализировать его как FeedMessage (корневой тип схемы GTFS Realtime) и выполнить итерацию для получения результатов.

import java.net.URL;

import com.google.transit.realtime.GtfsRealtime.FeedEntity;
import com.google.transit.realtime.GtfsRealtime.FeedMessage;

public class GtfsRealtimeExample {
  public static void main(String[] args) throws Exception {
    URL url = new URL("URL OF YOUR GTFS-REALTIME SOURCE GOES HERE");
    FeedMessage feed = FeedMessage.parseFrom(url.openStream());
    for (FeedEntity entity : feed.getEntityList()) {
      if (entity.hasTripUpdate()) {
        System.out.println(entity.getTripUpdate());
      }
    }
  }
}

Подробную информацию можно найти на странице проектов Java.