aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/org/traccar/protocol/OsmAndProtocolDecoder.java6
-rw-r--r--test/org/traccar/protocol/OsmAndProtocolDecoderTest.java3
2 files changed, 9 insertions, 0 deletions
diff --git a/src/org/traccar/protocol/OsmAndProtocolDecoder.java b/src/org/traccar/protocol/OsmAndProtocolDecoder.java
index c5884a4d0..1d4dc898a 100644
--- a/src/org/traccar/protocol/OsmAndProtocolDecoder.java
+++ b/src/org/traccar/protocol/OsmAndProtocolDecoder.java
@@ -32,6 +32,7 @@ import java.net.SocketAddress;
import java.nio.charset.StandardCharsets;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
+import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.Map;
@@ -104,6 +105,11 @@ public class OsmAndProtocolDecoder extends BaseProtocolDecoder {
case "lon":
position.setLongitude(Double.parseDouble(value));
break;
+ case "location":
+ List<String> location = Arrays.asList(value.split(","));
+ position.setLatitude(Double.parseDouble(location.get(0)));
+ position.setLongitude(Double.parseDouble(location.get(1)));
+ break;
case "speed":
position.setSpeed(Double.parseDouble(value));
break;
diff --git a/test/org/traccar/protocol/OsmAndProtocolDecoderTest.java b/test/org/traccar/protocol/OsmAndProtocolDecoderTest.java
index 6ec885058..1dc89b251 100644
--- a/test/org/traccar/protocol/OsmAndProtocolDecoderTest.java
+++ b/test/org/traccar/protocol/OsmAndProtocolDecoderTest.java
@@ -34,6 +34,9 @@ public class OsmAndProtocolDecoderTest extends ProtocolTest {
verifyPosition(decoder, request(
"/?id=861001000719969&lat=41.666667&lon=-0.883333&altitude=350.059479&speed=0.000000&batt=87"));
+ verifyPosition(decoder, request(
+ "/?id=123456&timestamp=1377177267&location=60.0,30.0"));
+
}
}