diff options
author | Anton Tananaev <anton@traccar.org> | 2024-04-07 14:55:48 -0700 |
---|---|---|
committer | Anton Tananaev <anton@traccar.org> | 2024-04-07 14:55:48 -0700 |
commit | 3d793f502e1d48eb9c1dd60005ccf6c8682d73ca (patch) | |
tree | bafbf8b4e4e1013bdfcce42ba1fc643624031612 | |
parent | 9a285e59e580994dc9c3f80935f766f3dafdcd46 (diff) | |
download | trackermap-server-3d793f502e1d48eb9c1dd60005ccf6c8682d73ca.tar.gz trackermap-server-3d793f502e1d48eb9c1dd60005ccf6c8682d73ca.tar.bz2 trackermap-server-3d793f502e1d48eb9c1dd60005ccf6c8682d73ca.zip |
Add Open Location Code geocoder
-rw-r--r-- | build.gradle | 1 | ||||
-rw-r--r-- | debug.xml | 2 | ||||
-rw-r--r-- | src/main/java/org/traccar/MainModule.java | 6 | ||||
-rw-r--r-- | src/main/java/org/traccar/geocoder/PlusCodesGeocoder.java (renamed from src/main/java/org/traccar/geocoder/TestGeocoder.java) | 7 |
4 files changed, 9 insertions, 7 deletions
diff --git a/build.gradle b/build.gradle index 2fe2bfaab..e731f99ed 100644 --- a/build.gradle +++ b/build.gradle @@ -90,6 +90,7 @@ dependencies { implementation "com.nimbusds:oauth2-oidc-sdk:11.10.1" implementation "com.rabbitmq:amqp-client:5.20.0" implementation "com.warrenstrange:googleauth:1.5.0" + implementation 'com.google.openlocationcode:openlocationcode:1.0.4' testImplementation "org.junit.jupiter:junit-jupiter-api:$junitVersion" testImplementation "org.junit.jupiter:junit-jupiter-engine:$junitVersion" testImplementation "org.mockito:mockito-core:5.11.0" @@ -10,7 +10,7 @@ <entry key='web.debug'>true</entry> <entry key='web.console'>true</entry> - <entry key='geocoder.type'>test</entry> + <entry key='geocoder.type'>pluscodes</entry> <entry key='media.path'>./target/media</entry> diff --git a/src/main/java/org/traccar/MainModule.java b/src/main/java/org/traccar/MainModule.java index 791d61c61..d1d3d4663 100644 --- a/src/main/java/org/traccar/MainModule.java +++ b/src/main/java/org/traccar/MainModule.java @@ -66,7 +66,7 @@ import org.traccar.geocoder.MapmyIndiaGeocoder; import org.traccar.geocoder.NominatimGeocoder; import org.traccar.geocoder.OpenCageGeocoder; import org.traccar.geocoder.PositionStackGeocoder; -import org.traccar.geocoder.TestGeocoder; +import org.traccar.geocoder.PlusCodesGeocoder; import org.traccar.geocoder.TomTomGeocoder; import org.traccar.geolocation.GeolocationProvider; import org.traccar.geolocation.GoogleGeolocationProvider; @@ -211,8 +211,8 @@ public class MainModule extends AbstractModule { int cacheSize = config.getInteger(Keys.GEOCODER_CACHE_SIZE); Geocoder geocoder; switch (type) { - case "test": - geocoder = new TestGeocoder(); + case "pluscodes": + geocoder = new PlusCodesGeocoder(); break; case "nominatim": geocoder = new NominatimGeocoder(client, url, key, language, cacheSize, addressFormat); diff --git a/src/main/java/org/traccar/geocoder/TestGeocoder.java b/src/main/java/org/traccar/geocoder/PlusCodesGeocoder.java index 259f13c6c..5d003192f 100644 --- a/src/main/java/org/traccar/geocoder/TestGeocoder.java +++ b/src/main/java/org/traccar/geocoder/PlusCodesGeocoder.java @@ -1,5 +1,5 @@ /* - * Copyright 2022 Anton Tananaev (anton@traccar.org) + * Copyright 2022 - 2024 Anton Tananaev (anton@traccar.org) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -15,9 +15,10 @@ */ package org.traccar.geocoder; +import com.google.openlocationcode.OpenLocationCode; import org.traccar.database.StatisticsManager; -public class TestGeocoder implements Geocoder { +public class PlusCodesGeocoder implements Geocoder { @Override public void setStatisticsManager(StatisticsManager statisticsManager) { @@ -25,7 +26,7 @@ public class TestGeocoder implements Geocoder { @Override public String getAddress(double latitude, double longitude, ReverseGeocoderCallback callback) { - String address = String.format("Location %f, %f", latitude, longitude); + String address = new OpenLocationCode(latitude, longitude).getCode(); if (callback != null) { callback.onSuccess(address); return null; |