diff --git a/enabler/src/de/schildbach/pte/BvgProvider.java b/enabler/src/de/schildbach/pte/BvgProvider.java index 03e3cb61..cfb8d583 100644 --- a/enabler/src/de/schildbach/pte/BvgProvider.java +++ b/enabler/src/de/schildbach/pte/BvgProvider.java @@ -182,7 +182,14 @@ public final class BvgProvider extends AbstractHafasProvider public NearbyStationsResult queryNearbyStations(final Location location, final int maxDistance, final int maxStations) throws IOException { - if (location.type == LocationType.STATION && location.hasId()) + if (location.hasLocation()) + { + final StringBuilder uri = new StringBuilder(queryEndpoint); + uri.append(jsonNearbyStationsParameters(location, maxDistance, maxStations)); + + return jsonNearbyStations(uri.toString()); + } + else if (location.type == LocationType.STATION && location.hasId()) { final StringBuilder uri = new StringBuilder(stationBoardEndpoint); uri.append("?near=Anzeigen"); diff --git a/enabler/test/de/schildbach/pte/live/BvgProviderLiveTest.java b/enabler/test/de/schildbach/pte/live/BvgProviderLiveTest.java index 5e754c1e..858314c7 100644 --- a/enabler/test/de/schildbach/pte/live/BvgProviderLiveTest.java +++ b/enabler/test/de/schildbach/pte/live/BvgProviderLiveTest.java @@ -53,6 +53,14 @@ public class BvgProviderLiveTest extends AbstractProviderLiveTest print(result); } + @Test + public void nearbyStationsByCoordinate() throws Exception + { + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.ADDRESS, 52486400, 13350744), 0, 0); + + print(result); + } + @Test public void nearbyStationsInvalidStation() throws Exception {