From ddaaecb3b09b1d2a10986b6c63113bf3a24975a5 Mon Sep 17 00:00:00 2001 From: Chris Arriola Date: Tue, 11 Jan 2022 10:47:46 -0800 Subject: [PATCH 1/5] feat!: Create PendingResultBase type requests for Roads API. BREAKING CHANGE: methods in the RoadsApi class now return PendingResultBase type classes to allow modification (e.g. adding headers) to the request. --- src/main/java/com/google/maps/RoadsApi.java | 90 ++++--------------- .../google/maps/SnapToRoadsApiRequest.java | 52 +++++++++++ .../google/maps/SpeedLimitsApiRequest.java | 54 +++++++++++ ...onse.java => SnappedSpeedLimitResult.java} | 2 +- .../google/maps/RoadsApiIntegrationTest.java | 11 +-- 5 files changed, 130 insertions(+), 79 deletions(-) create mode 100644 src/main/java/com/google/maps/SnapToRoadsApiRequest.java create mode 100644 src/main/java/com/google/maps/SpeedLimitsApiRequest.java rename src/main/java/com/google/maps/model/{SnappedSpeedLimitResponse.java => SnappedSpeedLimitResult.java} (95%) diff --git a/src/main/java/com/google/maps/RoadsApi.java b/src/main/java/com/google/maps/RoadsApi.java index 67f72340c..8cae227e9 100644 --- a/src/main/java/com/google/maps/RoadsApi.java +++ b/src/main/java/com/google/maps/RoadsApi.java @@ -24,7 +24,7 @@ import com.google.maps.internal.ApiResponse; import com.google.maps.model.LatLng; import com.google.maps.model.SnappedPoint; -import com.google.maps.model.SnappedSpeedLimitResponse; +import com.google.maps.model.SnappedSpeedLimitResult; import com.google.maps.model.SpeedLimit; /** @@ -34,21 +34,10 @@ *

See also: Roads API * documentation. */ + public class RoadsApi { static final String API_BASE_URL = "https://roads.googleapis.com"; - static final ApiConfig SNAP_TO_ROADS_API_CONFIG = - new ApiConfig("/v1/snapToRoads") - .hostName(API_BASE_URL) - .supportsClientId(false) - .fieldNamingPolicy(FieldNamingPolicy.IDENTITY); - - static final ApiConfig SPEEDS_API_CONFIG = - new ApiConfig("/v1/speedLimits") - .hostName(API_BASE_URL) - .supportsClientId(false) - .fieldNamingPolicy(FieldNamingPolicy.IDENTITY); - static final ApiConfig NEAREST_ROADS_API_CONFIG = new ApiConfig("/v1/nearestRoads") .hostName(API_BASE_URL) @@ -63,10 +52,10 @@ private RoadsApi() {} * * @param context The {@link GeoApiContext} to make requests through. * @param path The collected GPS points as a path. - * @return Returns the snapped points as a {@link PendingResult}. + * @return Returns the {@code SnapToRoadsApiRequest} for call chaining */ - public static PendingResult snapToRoads(GeoApiContext context, LatLng... path) { - return context.get(SNAP_TO_ROADS_API_CONFIG, RoadsResponse.class, "path", join('|', path)); + public static SnapToRoadsApiRequest snapToRoads(GeoApiContext context, LatLng... path) { + return snapToRoads(context, false, path); } /** @@ -81,17 +70,11 @@ public static PendingResult snapToRoads(GeoApiContext context, L * in a path that smoothly follows the geometry of the road, even around corners and through * tunnels. * @param path The path to be snapped. - * @return Returns the snapped points as a {@link PendingResult}. + * @return Returns the {@code SnapToRoadsApiRequest} for call chaining */ - public static PendingResult snapToRoads( + public static SnapToRoadsApiRequest snapToRoads( GeoApiContext context, boolean interpolate, LatLng... path) { - return context.get( - SNAP_TO_ROADS_API_CONFIG, - RoadsResponse.class, - "path", - join('|', path), - "interpolate", - String.valueOf(interpolate)); + return new SnapToRoadsApiRequest(context).path(path).interpolate(interpolate); } /** @@ -106,10 +89,10 @@ public static PendingResult snapToRoads( * * @param context The {@link GeoApiContext} to make requests through. * @param path The collected GPS points as a path. - * @return Returns the speed limits as a {@link PendingResult}. + * @return a {@link SpeedLimitsApiRequest} */ - public static PendingResult speedLimits(GeoApiContext context, LatLng... path) { - return context.get(SPEEDS_API_CONFIG, SpeedsResponse.class, "path", join('|', path)); + public static SpeedLimitsApiRequest speedLimits(GeoApiContext context, LatLng... path) { + return new SpeedLimitsApiRequest(context).path(path); } /** @@ -125,29 +108,10 @@ public static PendingResult speedLimits(GeoApiContext context, Lat * @param placeIds The Place ID of the road segment. Place IDs are returned by the {@link * #snapToRoads(GeoApiContext, com.google.maps.model.LatLng...)} method. You can pass up to * 100 placeIds with each request. - * @return Returns the speed limits as a {@link PendingResult}. + * @return a {@link SpeedLimitsApiRequest} */ - public static PendingResult speedLimits(GeoApiContext context, String... placeIds) { - String[] placeParams = new String[2 * placeIds.length]; - int i = 0; - for (String placeId : placeIds) { - placeParams[i++] = "placeId"; - placeParams[i++] = placeId; - } - - return context.get(SPEEDS_API_CONFIG, SpeedsResponse.class, placeParams); - } - - /** - * Returns the result of snapping the provided points to roads and retrieving the speed limits. - * - * @param context The {@link GeoApiContext} to make requests through. - * @param path The collected GPS points as a path. - * @return Returns the snapped points and speed limits as a {@link PendingResult}. - */ - public static PendingResult snappedSpeedLimits( - GeoApiContext context, LatLng... path) { - return context.get(SPEEDS_API_CONFIG, CombinedResponse.class, "path", join('|', path)); + public static SpeedLimitsApiRequest speedLimits(GeoApiContext context, String... placeIds) { + return new SpeedLimitsApiRequest(context).placeIds(placeIds); } /** @@ -183,27 +147,7 @@ public ApiException getError() { } } - public static class SpeedsResponse implements ApiResponse { - private SpeedLimit[] speedLimits; - private ApiError error; - - @Override - public boolean successful() { - return error == null; - } - - @Override - public SpeedLimit[] getResult() { - return speedLimits; - } - - @Override - public ApiException getError() { - return ApiException.from(error.status, error.message); - } - } - - public static class CombinedResponse implements ApiResponse { + public static class SpeedLimitsResponse implements ApiResponse { private SnappedPoint[] snappedPoints; private SpeedLimit[] speedLimits; private ApiError error; @@ -214,8 +158,8 @@ public boolean successful() { } @Override - public SnappedSpeedLimitResponse getResult() { - SnappedSpeedLimitResponse response = new SnappedSpeedLimitResponse(); + public SnappedSpeedLimitResult getResult() { + SnappedSpeedLimitResult response = new SnappedSpeedLimitResult(); response.snappedPoints = snappedPoints; response.speedLimits = speedLimits; return response; diff --git a/src/main/java/com/google/maps/SnapToRoadsApiRequest.java b/src/main/java/com/google/maps/SnapToRoadsApiRequest.java new file mode 100644 index 000000000..9df872e6a --- /dev/null +++ b/src/main/java/com/google/maps/SnapToRoadsApiRequest.java @@ -0,0 +1,52 @@ +package com.google.maps; + +import com.google.gson.FieldNamingPolicy; +import com.google.maps.RoadsApi.RoadsResponse; +import com.google.maps.internal.ApiConfig; +import com.google.maps.internal.StringJoin; +import com.google.maps.model.LatLng; +import com.google.maps.model.SnappedPoint; + +/** + * A request to the snap to roads API (part of Roads API). + */ +public class SnapToRoadsApiRequest extends + PendingResultBase { + + private static final ApiConfig SNAP_TO_ROADS_API_CONFIG = + new ApiConfig("/v1/snapToRoads") + .hostName(RoadsApi.API_BASE_URL) + .supportsClientId(false) + .fieldNamingPolicy(FieldNamingPolicy.IDENTITY); + + public SnapToRoadsApiRequest(GeoApiContext context) { + super(context, SNAP_TO_ROADS_API_CONFIG, RoadsResponse.class); + } + + @Override + protected void validateRequest() { + if (!params().containsKey("path")) { + throw new IllegalArgumentException("Request must contain 'path"); + } + } + + /** + * The path from which to snap to roads. + * + * @param path the path to be snapped + * @return returns this {@code SnapToRoadsApiRequest} for call chaining. + */ + public SnapToRoadsApiRequest path(LatLng... path) { + return param("path", StringJoin.join('|', path)); + } + + /** + * Whether to interpolate a path to include all points forming the full road-geometry. + * + * @param interpolate if the points should be interpolated or not + * @return returns this {@code SnapToRoadsApiRequest} for call chaining. + */ + public SnapToRoadsApiRequest interpolate(boolean interpolate) { + return param("interpolate", String.valueOf(interpolate)); + } +} diff --git a/src/main/java/com/google/maps/SpeedLimitsApiRequest.java b/src/main/java/com/google/maps/SpeedLimitsApiRequest.java new file mode 100644 index 000000000..2812c9545 --- /dev/null +++ b/src/main/java/com/google/maps/SpeedLimitsApiRequest.java @@ -0,0 +1,54 @@ +package com.google.maps; + +import com.google.gson.FieldNamingPolicy; +import com.google.maps.RoadsApi.SpeedLimitsResponse; +import com.google.maps.internal.ApiConfig; +import com.google.maps.internal.StringJoin; +import com.google.maps.model.LatLng; +import com.google.maps.model.SnappedSpeedLimitResult; + +/** + * A request to the speed limits API (part of Roads API). + */ +public class SpeedLimitsApiRequest extends + PendingResultBase { + + private static final ApiConfig SPEEDS_API_CONFIG = + new ApiConfig("/v1/speedLimits") + .hostName(RoadsApi.API_BASE_URL) + .supportsClientId(false) + .fieldNamingPolicy(FieldNamingPolicy.IDENTITY); + + + public SpeedLimitsApiRequest(GeoApiContext context) { + super(context, SPEEDS_API_CONFIG, SpeedLimitsResponse.class); + } + + @Override + protected void validateRequest() { + if (!params().containsKey("path") && !params().containsKey("placeId")) { + throw new IllegalArgumentException("Request must contain either 'path' or 'placeId'"); + } + } + + /** + * A list of up to 100 lat/long pairs representing a path. + * @param path the path + * @return a {@code SpeedLimitsApiRequest} for call chaining. + */ + public SpeedLimitsApiRequest path(LatLng... path) { + return param("path", StringJoin.join('|', path)); + } + + /** + * A list of place ID/s representing one or more road segments. + * @param placeIds the place ID/s + * @return a {@code SpeedLimitsApiRequest} for call chaining. + */ + public SpeedLimitsApiRequest placeIds(String... placeIds) { + for (String placeId : placeIds) { + paramAddToList("placeId", placeId); + } + return this; + } +} diff --git a/src/main/java/com/google/maps/model/SnappedSpeedLimitResponse.java b/src/main/java/com/google/maps/model/SnappedSpeedLimitResult.java similarity index 95% rename from src/main/java/com/google/maps/model/SnappedSpeedLimitResponse.java rename to src/main/java/com/google/maps/model/SnappedSpeedLimitResult.java index d82dc00ad..067f56712 100644 --- a/src/main/java/com/google/maps/model/SnappedSpeedLimitResponse.java +++ b/src/main/java/com/google/maps/model/SnappedSpeedLimitResult.java @@ -18,7 +18,7 @@ import java.io.Serializable; /** A combined snap-to-roads and speed limit response. */ -public class SnappedSpeedLimitResponse implements Serializable { +public class SnappedSpeedLimitResult implements Serializable { private static final long serialVersionUID = 1L; diff --git a/src/test/java/com/google/maps/RoadsApiIntegrationTest.java b/src/test/java/com/google/maps/RoadsApiIntegrationTest.java index b9c975293..ea596a494 100644 --- a/src/test/java/com/google/maps/RoadsApiIntegrationTest.java +++ b/src/test/java/com/google/maps/RoadsApiIntegrationTest.java @@ -23,7 +23,7 @@ import com.google.maps.model.LatLng; import com.google.maps.model.SnappedPoint; -import com.google.maps.model.SnappedSpeedLimitResponse; +import com.google.maps.model.SnappedSpeedLimitResult; import com.google.maps.model.SpeedLimit; import java.util.Arrays; import org.junit.Test; @@ -86,7 +86,8 @@ public void testSpeedLimitsWithLatLngs() throws Exception { new LatLng(-33.867841, 151.194137), new LatLng(-33.868224, 151.194116) }; - SpeedLimit[] speeds = RoadsApi.speedLimits(sc.context, path).await(); + SpeedLimitsApiRequest request = RoadsApi.speedLimits(sc.context, path); + SpeedLimit[] speeds = request.await().speedLimits; assertNotNull(Arrays.toString(speeds)); assertEquals("/v1/speedLimits", sc.path()); @@ -113,7 +114,7 @@ public void testSpeedLimitsWithUsaLatLngs() throws Exception { new LatLng(33.773250, -84.388840), new LatLng(33.771991, -84.388840) }; - SpeedLimit[] speeds = RoadsApi.speedLimits(sc.context, path).await(); + SpeedLimit[] speeds = RoadsApi.speedLimits(sc.context, path).await().speedLimits; assertNotNull(Arrays.toString(speeds)); assertEquals("/v1/speedLimits", sc.path()); @@ -136,7 +137,7 @@ public void testSpeedLimitsWithPlaceIds() throws Exception { "ChIJyU-E2mEE9YgRftyNXxcfQYw", "ChIJc0BrC2EE9YgR71DvaFzNgrA" }; - SpeedLimit[] speeds = RoadsApi.speedLimits(sc.context, placeIds).await(); + SpeedLimit[] speeds = RoadsApi.speedLimits(sc.context, placeIds).await().speedLimits; assertNotNull(Arrays.toString(speeds)); assertEquals("/v1/speedLimits", sc.path()); @@ -162,7 +163,7 @@ public void testSnappedSpeedLimitRequest() throws Exception { new LatLng(-33.867841, 151.194137), new LatLng(-33.868224, 151.194116) }; - SnappedSpeedLimitResponse response = RoadsApi.snappedSpeedLimits(sc.context, path).await(); + SnappedSpeedLimitResult response = RoadsApi.speedLimits(sc.context, path).await(); assertNotNull(response.toString()); assertEquals("/v1/speedLimits", sc.path()); From 3ddafd15387a62aafb52cdd2d10e6f5059c40dda Mon Sep 17 00:00:00 2001 From: Chris Arriola Date: Tue, 11 Jan 2022 10:56:42 -0800 Subject: [PATCH 2/5] Add NearestRoadsApiRequest. --- .../google/maps/NearestRoadsApiRequest.java | 42 +++++++++++++++++++ src/main/java/com/google/maps/RoadsApi.java | 15 ++----- 2 files changed, 45 insertions(+), 12 deletions(-) create mode 100644 src/main/java/com/google/maps/NearestRoadsApiRequest.java diff --git a/src/main/java/com/google/maps/NearestRoadsApiRequest.java b/src/main/java/com/google/maps/NearestRoadsApiRequest.java new file mode 100644 index 000000000..5bd8a711b --- /dev/null +++ b/src/main/java/com/google/maps/NearestRoadsApiRequest.java @@ -0,0 +1,42 @@ +package com.google.maps; + +import com.google.gson.FieldNamingPolicy; +import com.google.maps.RoadsApi.RoadsResponse; +import com.google.maps.internal.ApiConfig; +import com.google.maps.internal.StringJoin; +import com.google.maps.model.LatLng; +import com.google.maps.model.SnappedPoint; + +/** + * A request to the snap to roads API (part of Roads API). + */ +public class NearestRoadsApiRequest extends + PendingResultBase { + + private static final ApiConfig NEAREST_ROADS_API_CONFIG = + new ApiConfig("/v1/nearestRoads") + .hostName(RoadsApi.API_BASE_URL) + .supportsClientId(false) + .fieldNamingPolicy(FieldNamingPolicy.IDENTITY); + + public NearestRoadsApiRequest(GeoApiContext context) { + super(context, NEAREST_ROADS_API_CONFIG, RoadsResponse.class); + } + + @Override + protected void validateRequest() { + if (!params().containsKey("path")) { + throw new IllegalArgumentException("Request must contain 'path"); + } + } + + /** + * The path from which to snap to roads. + * + * @param path the path to be snapped + * @return returns this {@link NearestRoadsApiRequest} for call chaining. + */ + public NearestRoadsApiRequest path(LatLng... path) { + return param("path", StringJoin.join('|', path)); + } +} diff --git a/src/main/java/com/google/maps/RoadsApi.java b/src/main/java/com/google/maps/RoadsApi.java index 8cae227e9..5ca9d31e3 100644 --- a/src/main/java/com/google/maps/RoadsApi.java +++ b/src/main/java/com/google/maps/RoadsApi.java @@ -17,10 +17,8 @@ import static com.google.maps.internal.StringJoin.join; -import com.google.gson.FieldNamingPolicy; import com.google.maps.errors.ApiError; import com.google.maps.errors.ApiException; -import com.google.maps.internal.ApiConfig; import com.google.maps.internal.ApiResponse; import com.google.maps.model.LatLng; import com.google.maps.model.SnappedPoint; @@ -38,12 +36,6 @@ public class RoadsApi { static final String API_BASE_URL = "https://roads.googleapis.com"; - static final ApiConfig NEAREST_ROADS_API_CONFIG = - new ApiConfig("/v1/nearestRoads") - .hostName(API_BASE_URL) - .supportsClientId(false) - .fieldNamingPolicy(FieldNamingPolicy.IDENTITY); - private RoadsApi() {} /** @@ -120,11 +112,10 @@ public static SpeedLimitsApiRequest speedLimits(GeoApiContext context, String... * * @param context The {@link GeoApiContext} to make requests through. * @param points The sequence of points to be aligned to nearest roads - * @return Returns the snapped points as a {@link PendingResult}. + * @return a {@link NearestRoadsApiRequest} */ - public static PendingResult nearestRoads( - GeoApiContext context, LatLng... points) { - return context.get(NEAREST_ROADS_API_CONFIG, RoadsResponse.class, "points", join('|', points)); + public static NearestRoadsApiRequest nearestRoads(GeoApiContext context, LatLng... points) { + return new NearestRoadsApiRequest(context).path(points); } public static class RoadsResponse implements ApiResponse { From 6994e5ee4aae582d87a2312f6d7e1ab613b5219d Mon Sep 17 00:00:00 2001 From: Chris Arriola Date: Tue, 11 Jan 2022 11:04:42 -0800 Subject: [PATCH 3/5] s/path/points --- .../java/com/google/maps/NearestRoadsApiRequest.java | 10 +++++----- src/main/java/com/google/maps/RoadsApi.java | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/google/maps/NearestRoadsApiRequest.java b/src/main/java/com/google/maps/NearestRoadsApiRequest.java index 5bd8a711b..bc45b6495 100644 --- a/src/main/java/com/google/maps/NearestRoadsApiRequest.java +++ b/src/main/java/com/google/maps/NearestRoadsApiRequest.java @@ -25,18 +25,18 @@ public NearestRoadsApiRequest(GeoApiContext context) { @Override protected void validateRequest() { - if (!params().containsKey("path")) { + if (!params().containsKey("points")) { throw new IllegalArgumentException("Request must contain 'path"); } } /** - * The path from which to snap to roads. + * The points from which to snap to roads. * - * @param path the path to be snapped + * @param points the point to be snapped * @return returns this {@link NearestRoadsApiRequest} for call chaining. */ - public NearestRoadsApiRequest path(LatLng... path) { - return param("path", StringJoin.join('|', path)); + public NearestRoadsApiRequest points(LatLng... points) { + return param("", StringJoin.join('|', points)); } } diff --git a/src/main/java/com/google/maps/RoadsApi.java b/src/main/java/com/google/maps/RoadsApi.java index 5ca9d31e3..6162a44fe 100644 --- a/src/main/java/com/google/maps/RoadsApi.java +++ b/src/main/java/com/google/maps/RoadsApi.java @@ -115,7 +115,7 @@ public static SpeedLimitsApiRequest speedLimits(GeoApiContext context, String... * @return a {@link NearestRoadsApiRequest} */ public static NearestRoadsApiRequest nearestRoads(GeoApiContext context, LatLng... points) { - return new NearestRoadsApiRequest(context).path(points); + return new NearestRoadsApiRequest(context).points(points); } public static class RoadsResponse implements ApiResponse { From cd1b928aff8d22b3d90a6f4b2f49579e46251006 Mon Sep 17 00:00:00 2001 From: Chris Arriola Date: Tue, 11 Jan 2022 11:13:47 -0800 Subject: [PATCH 4/5] Add points. --- src/main/java/com/google/maps/NearestRoadsApiRequest.java | 2 +- src/main/java/com/google/maps/RoadsApi.java | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/src/main/java/com/google/maps/NearestRoadsApiRequest.java b/src/main/java/com/google/maps/NearestRoadsApiRequest.java index bc45b6495..cf1eda2ec 100644 --- a/src/main/java/com/google/maps/NearestRoadsApiRequest.java +++ b/src/main/java/com/google/maps/NearestRoadsApiRequest.java @@ -37,6 +37,6 @@ protected void validateRequest() { * @return returns this {@link NearestRoadsApiRequest} for call chaining. */ public NearestRoadsApiRequest points(LatLng... points) { - return param("", StringJoin.join('|', points)); + return param("points", StringJoin.join('|', points)); } } diff --git a/src/main/java/com/google/maps/RoadsApi.java b/src/main/java/com/google/maps/RoadsApi.java index 6162a44fe..0b5513c79 100644 --- a/src/main/java/com/google/maps/RoadsApi.java +++ b/src/main/java/com/google/maps/RoadsApi.java @@ -15,8 +15,6 @@ package com.google.maps; -import static com.google.maps.internal.StringJoin.join; - import com.google.maps.errors.ApiError; import com.google.maps.errors.ApiException; import com.google.maps.internal.ApiResponse; From 988f948532b6417c3bcf733bafc338ff81edf4a0 Mon Sep 17 00:00:00 2001 From: Chris Arriola Date: Tue, 11 Jan 2022 11:21:23 -0800 Subject: [PATCH 5/5] Formatting.: --- .../java/com/google/maps/NearestRoadsApiRequest.java | 8 +++----- src/main/java/com/google/maps/RoadsApi.java | 1 - .../java/com/google/maps/SnapToRoadsApiRequest.java | 8 +++----- .../java/com/google/maps/SpeedLimitsApiRequest.java | 11 +++++------ 4 files changed, 11 insertions(+), 17 deletions(-) diff --git a/src/main/java/com/google/maps/NearestRoadsApiRequest.java b/src/main/java/com/google/maps/NearestRoadsApiRequest.java index cf1eda2ec..c713da089 100644 --- a/src/main/java/com/google/maps/NearestRoadsApiRequest.java +++ b/src/main/java/com/google/maps/NearestRoadsApiRequest.java @@ -7,11 +7,9 @@ import com.google.maps.model.LatLng; import com.google.maps.model.SnappedPoint; -/** - * A request to the snap to roads API (part of Roads API). - */ -public class NearestRoadsApiRequest extends - PendingResultBase { +/** A request to the snap to roads API (part of Roads API). */ +public class NearestRoadsApiRequest + extends PendingResultBase { private static final ApiConfig NEAREST_ROADS_API_CONFIG = new ApiConfig("/v1/nearestRoads") diff --git a/src/main/java/com/google/maps/RoadsApi.java b/src/main/java/com/google/maps/RoadsApi.java index 0b5513c79..1ecd3b165 100644 --- a/src/main/java/com/google/maps/RoadsApi.java +++ b/src/main/java/com/google/maps/RoadsApi.java @@ -30,7 +30,6 @@ *

See also: Roads API * documentation. */ - public class RoadsApi { static final String API_BASE_URL = "https://roads.googleapis.com"; diff --git a/src/main/java/com/google/maps/SnapToRoadsApiRequest.java b/src/main/java/com/google/maps/SnapToRoadsApiRequest.java index 9df872e6a..c9eee2a79 100644 --- a/src/main/java/com/google/maps/SnapToRoadsApiRequest.java +++ b/src/main/java/com/google/maps/SnapToRoadsApiRequest.java @@ -7,11 +7,9 @@ import com.google.maps.model.LatLng; import com.google.maps.model.SnappedPoint; -/** - * A request to the snap to roads API (part of Roads API). - */ -public class SnapToRoadsApiRequest extends - PendingResultBase { +/** A request to the snap to roads API (part of Roads API). */ +public class SnapToRoadsApiRequest + extends PendingResultBase { private static final ApiConfig SNAP_TO_ROADS_API_CONFIG = new ApiConfig("/v1/snapToRoads") diff --git a/src/main/java/com/google/maps/SpeedLimitsApiRequest.java b/src/main/java/com/google/maps/SpeedLimitsApiRequest.java index 2812c9545..3d99c1ad1 100644 --- a/src/main/java/com/google/maps/SpeedLimitsApiRequest.java +++ b/src/main/java/com/google/maps/SpeedLimitsApiRequest.java @@ -7,11 +7,9 @@ import com.google.maps.model.LatLng; import com.google.maps.model.SnappedSpeedLimitResult; -/** - * A request to the speed limits API (part of Roads API). - */ -public class SpeedLimitsApiRequest extends - PendingResultBase { +/** A request to the speed limits API (part of Roads API). */ +public class SpeedLimitsApiRequest + extends PendingResultBase { private static final ApiConfig SPEEDS_API_CONFIG = new ApiConfig("/v1/speedLimits") @@ -19,7 +17,6 @@ public class SpeedLimitsApiRequest extends .supportsClientId(false) .fieldNamingPolicy(FieldNamingPolicy.IDENTITY); - public SpeedLimitsApiRequest(GeoApiContext context) { super(context, SPEEDS_API_CONFIG, SpeedLimitsResponse.class); } @@ -33,6 +30,7 @@ protected void validateRequest() { /** * A list of up to 100 lat/long pairs representing a path. + * * @param path the path * @return a {@code SpeedLimitsApiRequest} for call chaining. */ @@ -42,6 +40,7 @@ public SpeedLimitsApiRequest path(LatLng... path) { /** * A list of place ID/s representing one or more road segments. + * * @param placeIds the place ID/s * @return a {@code SpeedLimitsApiRequest} for call chaining. */