Чтобы использовать в проекте классы 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.