aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main/java/org/traccar/geolocation/OpenCellIdGeolocationProvider.java8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/main/java/org/traccar/geolocation/OpenCellIdGeolocationProvider.java b/src/main/java/org/traccar/geolocation/OpenCellIdGeolocationProvider.java
index cb3094e16..5e9779f2d 100644
--- a/src/main/java/org/traccar/geolocation/OpenCellIdGeolocationProvider.java
+++ b/src/main/java/org/traccar/geolocation/OpenCellIdGeolocationProvider.java
@@ -48,8 +48,14 @@ public class OpenCellIdGeolocationProvider implements GeolocationProvider {
callback.onSuccess(
json.getJsonNumber("lat").doubleValue(),
json.getJsonNumber("lon").doubleValue(), 0);
+ } else if (json.containsKey("error")) {
+ String errorMessage = json.getJsonString("error").getString();
+ if (json.containsKey("code")) {
+ errorMessage += " Error code: " + json.getInt("code");
+ }
+ callback.onFailure(new GeolocationException(errorMessage));
} else {
- callback.onFailure(new GeolocationException("Coordinates are missing"));
+ callback.onFailure(new GeolocationException("Coordinates are missing."));
}
}