From dd562e30c20bb1bc6f8fd43e24c73f63ae41d67a Mon Sep 17 00:00:00 2001 From: Christian Schneppe Date: Thu, 10 Nov 2016 22:26:16 +0100 Subject: show map preview in chat --- .../java/de/pixart/messenger/utils/GeoHelper.java | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'src/main/java/de/pixart/messenger/utils') 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 createGeoIntentsFromMessage(Message message) { final ArrayList intents = new ArrayList<>(); Matcher matcher = GEO_URI.matcher(message.getBody()); -- cgit v1.2.3