aboutsummaryrefslogtreecommitdiff
path: root/src/org/traccar/Context.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/org/traccar/Context.java')
-rw-r--r--src/org/traccar/Context.java23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/org/traccar/Context.java b/src/org/traccar/Context.java
index 113ed02ec..c833d0c2e 100644
--- a/src/org/traccar/Context.java
+++ b/src/org/traccar/Context.java
@@ -29,6 +29,9 @@ import org.traccar.geocode.NominatimReverseGeocoder;
import org.traccar.geocode.OpenCageReverseGeocoder;
import org.traccar.geocode.ReverseGeocoder;
import org.traccar.helper.Log;
+import org.traccar.location.LocationProvider;
+import org.traccar.location.MozillaLocationProvider;
+import org.traccar.location.OpenCellIdLocationProvider;
import org.traccar.web.WebServer;
public final class Context {
@@ -78,6 +81,12 @@ public final class Context {
return reverseGeocoder;
}
+ private static LocationProvider locationProvider;
+
+ public static LocationProvider getLocationProvider() {
+ return locationProvider;
+ }
+
private static WebServer webServer;
public static WebServer getWebServer() {
@@ -144,6 +153,20 @@ public final class Context {
}
}
+ if (config.getBoolean("location.enable")) {
+ String type = config.getString("location.type", "opencellid");
+ String key = config.getString("location.key");
+
+ switch (type) {
+ case "mozilla":
+ locationProvider = new MozillaLocationProvider();
+ break;
+ default:
+ locationProvider = new OpenCellIdLocationProvider(key);
+ break;
+ }
+ }
+
if (config.getBoolean("web.enable")) {
if (config.getString("web.type", "new").equals("new")
|| config.getString("web.type", "new").equals("api")) {