aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjcardus <joaquim.cardeira@gmail.com>2020-01-21 18:24:03 +0000
committerAnton Tananaev <anton.tananaev@gmail.com>2020-01-21 10:24:03 -0800
commit0c40b37a389ae681152f320e47731ee3012f17eb (patch)
tree0218c165eb05dd03ece2d075b94998e2a93d32c4
parentdf740ef9d1f2c339f4ffb0bf96f4a418065c72c8 (diff)
downloadtraccar-server-0c40b37a389ae681152f320e47731ee3012f17eb.tar.gz
traccar-server-0c40b37a389ae681152f320e47731ee3012f17eb.tar.bz2
traccar-server-0c40b37a389ae681152f320e47731ee3012f17eb.zip
Here geocoder url config parameter (#4472)
* here geocoder url config parameter * here geocoder url config parameter * added new parameter apiKey and kept app_code for retro compatibility added default url for here * fixed ident removed url from here geocode test * fixed ident intellij uses 2 spaces, this project uses 4. * fixed ident intellij uses 2 spaces, this project uses 4. * url should be null not "" * wrong file
-rw-r--r--src/main/java/org/traccar/MainModule.java2
-rw-r--r--src/main/java/org/traccar/geocoder/HereGeocoder.java12
-rw-r--r--src/test/java/org/traccar/geocoder/GeocoderTest.java2
3 files changed, 10 insertions, 6 deletions
diff --git a/src/main/java/org/traccar/MainModule.java b/src/main/java/org/traccar/MainModule.java
index 9adea61b0..0957d9fe3 100644
--- a/src/main/java/org/traccar/MainModule.java
+++ b/src/main/java/org/traccar/MainModule.java
@@ -170,7 +170,7 @@ public class MainModule extends AbstractModule {
case "ban":
return new BanGeocoder(cacheSize, addressFormat);
case "here":
- return new HereGeocoder(id, key, language, cacheSize, addressFormat);
+ return new HereGeocoder(url, id, key, language, cacheSize, addressFormat);
case "mapmyindia":
return new MapmyIndiaGeocoder(url, key, cacheSize, addressFormat);
default:
diff --git a/src/main/java/org/traccar/geocoder/HereGeocoder.java b/src/main/java/org/traccar/geocoder/HereGeocoder.java
index 756260b52..aaf11d74d 100644
--- a/src/main/java/org/traccar/geocoder/HereGeocoder.java
+++ b/src/main/java/org/traccar/geocoder/HereGeocoder.java
@@ -19,20 +19,24 @@ import javax.json.JsonObject;
public class HereGeocoder extends JsonGeocoder {
- private static String formatUrl(String id, String key, String language) {
- String url = "https://reverse.geocoder.api.here.com/6.2/reversegeocode.json";
+ private static String formatUrl(String url, String id, String key, String language) {
+ if (url == null) {
+ url = "https://reverse.geocoder.ls.hereapi.com/6.2/reversegeocode.json";
+ }
url += "?mode=retrieveAddresses&maxresults=1";
url += "&prox=%f,%f,0";
url += "&app_id=" + id;
url += "&app_code=" + key;
+ url += "&apiKey=" + key;
if (language != null) {
url += "&language=" + language;
}
return url;
}
- public HereGeocoder(String id, String key, String language, int cacheSize, AddressFormat addressFormat) {
- super(formatUrl(id, key, language), cacheSize, addressFormat);
+ public HereGeocoder(
+ String url, String id, String key, String language, int cacheSize, AddressFormat addressFormat) {
+ super(formatUrl(url, id, key, language), cacheSize, addressFormat);
}
@Override
diff --git a/src/test/java/org/traccar/geocoder/GeocoderTest.java b/src/test/java/org/traccar/geocoder/GeocoderTest.java
index 85d9bf62f..9f59d0b23 100644
--- a/src/test/java/org/traccar/geocoder/GeocoderTest.java
+++ b/src/test/java/org/traccar/geocoder/GeocoderTest.java
@@ -73,7 +73,7 @@ public class GeocoderTest {
@Ignore
@Test
public void testHere() {
- Geocoder geocoder = new HereGeocoder("", "", null, 0, new AddressFormat());
+ Geocoder geocoder = new HereGeocoder(null, "", "", null, 0, new AddressFormat());
String address = geocoder.getAddress(48.8575, 2.2944, null);
assertEquals("6 Avenue Gustave Eiffel, Paris, Île-de-France, FRA", address);
}