diff options
Diffstat (limited to 'src/main/java')
-rw-r--r-- | src/main/java/org/traccar/geolocation/OpenCellIdGeolocationProvider.java | 8 |
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.")); } } |