aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/de/pixart/messenger/utils/GeoHelper.java
diff options
context:
space:
mode:
authorChristian Schneppe <christian@pix-art.de>2016-11-10 22:26:16 +0100
committerChristian Schneppe <christian@pix-art.de>2016-11-10 22:26:16 +0100
commitdd562e30c20bb1bc6f8fd43e24c73f63ae41d67a (patch)
tree12bdc99180526acee869ca3a7c60b34446fe85fd /src/main/java/de/pixart/messenger/utils/GeoHelper.java
parent8132ad906a6a8c251d87b466a1fe608f9709774c (diff)
show map preview in chat
Diffstat (limited to '')
-rw-r--r--src/main/java/de/pixart/messenger/utils/GeoHelper.java22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/main/java/de/pixart/messenger/utils/GeoHelper.java b/src/main/java/de/pixart/messenger/utils/GeoHelper.java
index afcb1bd8e..a524c1356 100644
--- a/src/main/java/de/pixart/messenger/utils/GeoHelper.java
+++ b/src/main/java/de/pixart/messenger/utils/GeoHelper.java
@@ -20,6 +20,28 @@ public class GeoHelper {
return body != null && GEO_URI.matcher(body).matches();
}
+ public static String MapPreviewUri (Message message) {
+ Matcher matcher = GEO_URI.matcher(message.getBody());
+ if (!matcher.matches()) {
+ return null;
+ }
+ double latitude;
+ double longitude;
+ try {
+ latitude = Double.parseDouble(matcher.group(1));
+ if (latitude > 90.0 || latitude < -90.0) {
+ return null;
+ }
+ longitude = Double.parseDouble(matcher.group(2));
+ if (longitude > 180.0 || longitude < -180.0) {
+ return null;
+ }
+ } catch (NumberFormatException nfe) {
+ return null;
+ }
+ return "https://maps.google.com/maps/api/staticmap?center=" + latitude + "," + longitude + "&size=400x400&scale=2&format=jpg&markers=" + latitude + "," + longitude + "&sensor=false";
+ }
+
public static ArrayList<Intent> createGeoIntentsFromMessage(Message message) {
final ArrayList<Intent> intents = new ArrayList<>();
Matcher matcher = GEO_URI.matcher(message.getBody());