Merge pull request #863 from rilaby/geopatterns
search by geo urls reworked
This commit is contained in:
commit
456eefde5a
1 changed files with 157 additions and 48 deletions
|
@ -46,12 +46,13 @@ public class GeoPointParserUtil {
|
||||||
actual = GeoPointParserUtil.parse("geo", url);
|
actual = GeoPointParserUtil.parse("geo", url);
|
||||||
assertGeoPoint(actual, new GeoParsedPoint(lat, lon, z));
|
assertGeoPoint(actual, new GeoParsedPoint(lat, lon, z));
|
||||||
|
|
||||||
// geo:0,0?q=1600+Amphitheatre+Parkway,+CA
|
// google calendar
|
||||||
String qstr = "q=1600+Amphitheatre+Parkway,+CA";
|
// geo:0,0?q=760 West Genesee Street Syracuse NY 13204
|
||||||
|
String qstr = "q=760 West Genesee Street Syracuse NY 13204";
|
||||||
url = "geo:0,0?" + qstr;
|
url = "geo:0,0?" + qstr;
|
||||||
System.out.println("url: " + url);
|
System.out.println("url: " + url);
|
||||||
actual = GeoPointParserUtil.parse("geo", url);
|
actual = GeoPointParserUtil.parse("geo", url);
|
||||||
assertGeoPoint(actual, new GeoParsedPoint(qstr));
|
assertGeoPoint(actual, new GeoParsedPoint(qstr.replaceAll("\\s+", "+")));
|
||||||
|
|
||||||
// geo:0,0?z=11&q=1600+Amphitheatre+Parkway,+CA
|
// geo:0,0?z=11&q=1600+Amphitheatre+Parkway,+CA
|
||||||
qstr = "q=1600+Amphitheatre+Parkway,+CA";
|
qstr = "q=1600+Amphitheatre+Parkway,+CA";
|
||||||
|
@ -59,6 +60,119 @@ public class GeoPointParserUtil {
|
||||||
System.out.println("url: " + url);
|
System.out.println("url: " + url);
|
||||||
actual = GeoPointParserUtil.parse("geo", url);
|
actual = GeoPointParserUtil.parse("geo", url);
|
||||||
assertGeoPoint(actual, new GeoParsedPoint(qstr));
|
assertGeoPoint(actual, new GeoParsedPoint(qstr));
|
||||||
|
|
||||||
|
// http://download.osmand.net/go?lat=34.99&lon=-106.61&z=11
|
||||||
|
url = "http://download.osmand.net/go?lat=" + lat + "&lon=" + lon + "&z=" + z;
|
||||||
|
System.out.println("url: " + url);
|
||||||
|
actual = GeoPointParserUtil.parse("http", url);
|
||||||
|
assertGeoPoint(actual, new GeoParsedPoint(lat, lon, z));
|
||||||
|
|
||||||
|
// http://openstreetmap.org/map=11/34.99/-106.61
|
||||||
|
url = "http://openstreetmap.org/map=" + z + "/" + lat + "/" + lon;
|
||||||
|
System.out.println("url: " + url);
|
||||||
|
actual = GeoPointParserUtil.parse("http", url);
|
||||||
|
assertGeoPoint(actual, new GeoParsedPoint(lat, lon, z));
|
||||||
|
|
||||||
|
// http://openstreetmap.de/zoom=11&lat=34.99&lon=-106.61
|
||||||
|
url = "http://openstreetmap.de/zoom=" + z + "&lat=" + lat + "&lon=" + lon;
|
||||||
|
System.out.println("url: " + url);
|
||||||
|
actual = GeoPointParserUtil.parse("http", url);
|
||||||
|
assertGeoPoint(actual, new GeoParsedPoint(lat, lon, z));
|
||||||
|
|
||||||
|
// http://openstreetmap.de/lat=34.99&lon=-106.61&zoom=11
|
||||||
|
url = "http://openstreetmap.de/lat=" + lat + "&lon=" + lon + "&zoom=" + z;
|
||||||
|
System.out.println("url: " + url);
|
||||||
|
actual = GeoPointParserUtil.parse("http", url);
|
||||||
|
assertGeoPoint(actual, new GeoParsedPoint(lat, lon, z));
|
||||||
|
|
||||||
|
// http://maps.google.com/maps/@34.99,-106.61,11z
|
||||||
|
url = "http://maps.google.com/maps/@" + lat + "," + lon + "," + z + "z";
|
||||||
|
System.out.println("url: " + url);
|
||||||
|
actual = GeoPointParserUtil.parse("http", url);
|
||||||
|
assertGeoPoint(actual, new GeoParsedPoint(lat, lon, z));
|
||||||
|
|
||||||
|
// http://maps.google.com/maps/ll=34.99,-106.61,z=11
|
||||||
|
url = "http://maps.google.com/maps/ll=" + lat + "," + lon + ",z=" + z;
|
||||||
|
System.out.println("url: " + url);
|
||||||
|
actual = GeoPointParserUtil.parse("http", url);
|
||||||
|
assertGeoPoint(actual, new GeoParsedPoint(lat, lon, z));
|
||||||
|
|
||||||
|
// http://maps.google.com/maps/q=loc:34.99,-106.61&z=11
|
||||||
|
url = "http://maps.google.com/maps/q=loc:" + lat + "," + lon + "&z=" + z;
|
||||||
|
System.out.println("url: " + url);
|
||||||
|
actual = GeoPointParserUtil.parse("http", url);
|
||||||
|
assertGeoPoint(actual, new GeoParsedPoint(lat, lon, z));
|
||||||
|
|
||||||
|
// whatsapp
|
||||||
|
// http://maps.google.com/maps/q=loc:34.99,-106.61 (You)
|
||||||
|
z = GeoParsedPoint.NO_ZOOM;
|
||||||
|
url = "http://maps.google.com/maps/q=loc:" + lat + "," + lon + " (You)";
|
||||||
|
System.out.println("url: " + url);
|
||||||
|
actual = GeoPointParserUtil.parse("http", url);
|
||||||
|
assertGeoPoint(actual, new GeoParsedPoint(lat, lon, z));
|
||||||
|
|
||||||
|
// http://www.google.com/maps/search/food/34.99,-106.61,14z
|
||||||
|
url = "http://www.google.com/maps/search/food/" + lat + "," + lon + "," + z + "z";
|
||||||
|
System.out.println("url: " + url);
|
||||||
|
actual = GeoPointParserUtil.parse("http", url);
|
||||||
|
assertGeoPoint(actual, new GeoParsedPoint(lat, lon, z));
|
||||||
|
|
||||||
|
// http://maps.google.com?saddr=Current+Location&daddr=34.99,-106.61
|
||||||
|
z = GeoParsedPoint.NO_ZOOM;
|
||||||
|
url = "http://maps.google.com?saddr=Current+Location&daddr=" + lat + "," + lon;
|
||||||
|
System.out.println("url: " + url);
|
||||||
|
actual = GeoPointParserUtil.parse("http", url);
|
||||||
|
assertGeoPoint(actual, new GeoParsedPoint(lat, lon, z));
|
||||||
|
|
||||||
|
// http://www.google.com/maps/dir/Current+Location/34.99,-106.61
|
||||||
|
z = GeoParsedPoint.NO_ZOOM;
|
||||||
|
url = "http://www.google.com/maps/dir/Current+Location/" + lat + "," + lon;
|
||||||
|
System.out.println("url: " + url);
|
||||||
|
actual = GeoPointParserUtil.parse("http", url);
|
||||||
|
assertGeoPoint(actual, new GeoParsedPoint(lat, lon, z));
|
||||||
|
|
||||||
|
// http://maps.google.com/maps?q=34.99,-106.61
|
||||||
|
z = GeoParsedPoint.NO_ZOOM;
|
||||||
|
url = "http://maps.google.com/maps?q=" + lat + "," + lon;
|
||||||
|
System.out.println("url: " + url);
|
||||||
|
actual = GeoPointParserUtil.parse("http", url);
|
||||||
|
assertGeoPoint(actual, new GeoParsedPoint(lat, lon, z));
|
||||||
|
|
||||||
|
// http://www.google.com/maps/place/760+West+Genesee+Street+Syracuse+NY+13204
|
||||||
|
qstr = "760+West+Genesee+Street+Syracuse+NY+13204";
|
||||||
|
url = "http://www.google.com/maps/place/" + qstr;
|
||||||
|
System.out.println("url: " + url);
|
||||||
|
actual = GeoPointParserUtil.parse("http", url);
|
||||||
|
assertGeoPoint(actual, new GeoParsedPoint(qstr));
|
||||||
|
|
||||||
|
// http://maps.google.com/maps?q=760+West+Genesee+Street+Syracuse+NY+13204
|
||||||
|
qstr = "760+West+Genesee+Street+Syracuse+NY+13204";
|
||||||
|
url = "http://www.google.com/maps?q=" + qstr;
|
||||||
|
System.out.println("url: " + url);
|
||||||
|
actual = GeoPointParserUtil.parse("http", url);
|
||||||
|
assertGeoPoint(actual, new GeoParsedPoint(qstr));
|
||||||
|
|
||||||
|
// http://maps.google.com/maps?daddr=760+West+Genesee+Street+Syracuse+NY+13204
|
||||||
|
qstr = "760+West+Genesee+Street+Syracuse+NY+13204";
|
||||||
|
url = "http://www.google.com/maps?daddr=" + qstr;
|
||||||
|
System.out.println("url: " + url);
|
||||||
|
actual = GeoPointParserUtil.parse("http", url);
|
||||||
|
assertGeoPoint(actual, new GeoParsedPoint(qstr));
|
||||||
|
|
||||||
|
// http://www.google.com/maps/dir/Current+Location/760+West+Genesee+Street+Syracuse+NY+13204
|
||||||
|
qstr = "760+West+Genesee+Street+Syracuse+NY+13204";
|
||||||
|
url = "http://www.google.com/maps/dir/Current+Location/" + qstr;
|
||||||
|
System.out.println("url: " + url);
|
||||||
|
actual = GeoPointParserUtil.parse("http", url);
|
||||||
|
assertGeoPoint(actual, new GeoParsedPoint(qstr));
|
||||||
|
|
||||||
|
// http://maps.yandex.ru/?ll=34.99,-106.61&z=11
|
||||||
|
z = 11;
|
||||||
|
url = "http://maps.yandex.ru/?ll=" + lat + "," + lon + "&z=" + z;
|
||||||
|
System.out.println("url: " + url);
|
||||||
|
actual = GeoPointParserUtil.parse("http", url);
|
||||||
|
assertGeoPoint(actual, new GeoParsedPoint(lat, lon, z));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void assertGeoPoint(GeoParsedPoint actual, GeoParsedPoint expected) {
|
private static void assertGeoPoint(GeoParsedPoint actual, GeoParsedPoint expected) {
|
||||||
|
@ -82,7 +196,7 @@ public class GeoPointParserUtil {
|
||||||
throw new RuntimeException("Longitude is not equal; actual=" + aLon + ", expected=" + eLon);
|
throw new RuntimeException("Longitude is not equal; actual=" + aLon + ", expected=" + eLon);
|
||||||
}
|
}
|
||||||
if (eZoom != aZoom) {
|
if (eZoom != aZoom) {
|
||||||
throw new RuntimeException("Zoom is not equal; actual=" + aZoom + ", expected=" + aZoom);
|
throw new RuntimeException("Zoom is not equal; actual=" + aZoom + ", expected=" + eZoom);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
System.out.println("Passed!");
|
System.out.println("Passed!");
|
||||||
|
@ -91,7 +205,7 @@ public class GeoPointParserUtil {
|
||||||
private static String getQueryParameter(final String param, URI data) {
|
private static String getQueryParameter(final String param, URI data) {
|
||||||
final String query = data.getQuery();
|
final String query = data.getQuery();
|
||||||
String value = null;
|
String value = null;
|
||||||
if (query.contains(param)) {
|
if (query != null && query.contains(param)) {
|
||||||
String[] params = query.split("&");
|
String[] params = query.split("&");
|
||||||
for (String p : params) {
|
for (String p : params) {
|
||||||
if (p.contains(param)) {
|
if (p.contains(param)) {
|
||||||
|
@ -113,7 +227,7 @@ public class GeoPointParserUtil {
|
||||||
* @return {@link GeoParsedPoint}
|
* @return {@link GeoParsedPoint}
|
||||||
*/
|
*/
|
||||||
public static GeoParsedPoint parse(final String scheme, final String uri) {
|
public static GeoParsedPoint parse(final String scheme, final String uri) {
|
||||||
final URI data = URI.create(uri.replaceAll("\\s+", ""));
|
final URI data = URI.create(uri.replaceAll("\\s+", "+"));
|
||||||
if ("http".equals(scheme) || "https".equals(scheme)) {
|
if ("http".equals(scheme) || "https".equals(scheme)) {
|
||||||
|
|
||||||
final String schemeSpecific = data.getSchemeSpecificPart();
|
final String schemeSpecific = data.getSchemeSpecificPart();
|
||||||
|
@ -124,24 +238,28 @@ public class GeoPointParserUtil {
|
||||||
|
|
||||||
final String[] osmandNetSite = { "//download.osmand.net/go?" };
|
final String[] osmandNetSite = { "//download.osmand.net/go?" };
|
||||||
|
|
||||||
final String[] osmandNetPattern = { "lat=(-?\\d{1,3}.\\d+)&lon=(-?\\d{1,3}.\\d+)&z=(\\d{1,2})" };
|
final String[] osmandNetPattern = { "lat=(-?\\d{1,3}\\.\\d+)&lon=(-?\\d{1,3}\\.\\d+)&z=(\\d{1,2})" };
|
||||||
|
|
||||||
final String[] openstreetmapOrgSite = { "//openstreetmap.org/", "//www.openstreetmap.org/" };
|
final String[] openstreetmapOrgSite = { "//openstreetmap.org/", "//www.openstreetmap.org/" };
|
||||||
|
|
||||||
final String[] openstreetmapOrgPattern = { "(?:.*)(?:map=)(\\d{1,2})/(-?\\d{1,3}.\\d+)/(-?\\d{1,3}.\\d+)(?:.*)" };
|
final String[] openstreetmapOrgPattern = { "(?:.*)(?:map=)(\\d{1,2})/(-?\\d{1,3}\\.\\d+)/(-?\\d{1,3}\\.\\d+)(?:.*)" };
|
||||||
|
|
||||||
final String[] openstreetmapDeSite = { "//openstreetmap.de/", "//www.openstreetmap.de/" };
|
final String[] openstreetmapDeSite = { "//openstreetmap.de/", "//www.openstreetmap.de/" };
|
||||||
|
|
||||||
final String[] openstreetmapDePattern = {
|
final String[] openstreetmapDePattern = {
|
||||||
"(?:.*)zoom=(\\d{1,2})&lat=(-?\\d{1,3}.\\d+)&lon=(-?\\d{1,3}.\\d+)(?:.*)",
|
"(?:.*)zoom=(\\d{1,2})&lat=(-?\\d{1,3}\\.\\d+)&lon=(-?\\d{1,3}\\.\\d+)(?:.*)",
|
||||||
"(?:.*)lat=(-?\\d{1,3}.\\d+)&lon=(-?\\d{1,3}.\\d+)&z(?:oom)?=(\\d{1,2})(?:.*)" };
|
"(?:.*)lat=(-?\\d{1,3}\\.\\d+)&lon=(-?\\d{1,3}\\.\\d+)&z(?:oom)?=(\\d{1,2})(?:.*)" };
|
||||||
|
|
||||||
final String[] googleComSite = { "//www.google.com/maps/", "//maps.google.com/maps" };
|
final String[] googleComSite = { "//www.google.com/maps/", "//maps.google.com/maps", "//maps.google.com" };
|
||||||
|
|
||||||
final String[] googleComPattern = { "(?:.*)@(-?\\d{1,3}.\\d+),(-?\\d{1,3}.\\d+),(\\d{1,2})z(?:.*)",
|
final String[] googleComPattern = { "(?:.*)[@/](-?\\d{1,3}\\.\\d+),(-?\\d{1,3}\\.\\d+),(\\d{1,2})z(?:.*)",
|
||||||
"(?:.*)ll=(-?\\d{1,3}.\\d+),(-?\\d{1,3}.\\d+)(?:.+)z=(\\d{1,2})(?:.*)",
|
"(?:.*)ll=(-?\\d{1,3}\\.\\d+),(-?\\d{1,3}\\.\\d+)(?:.+)z=(\\d{1,2})(?:.*)",
|
||||||
"(?:.*)q=([\\-+]?\\d{1,3}.\\d+),([\\-+]?\\d{1,3}.\\d+)(?:.*)&z=(\\d{1,2})",
|
"(?:.*)q=([\\-+]?\\d{1,3}\\.\\d+),([\\-+]?\\d{1,3}\\.\\d+)(?:.*)&z=(\\d{1,2})",
|
||||||
"(?:.*)q=loc:(-?\\d{1,3}.\\d+),(-?\\d{1,3}.\\d+)&z=(\\d{1,2})(?:.*)" };
|
"(?:.*)(q=)(-?\\d{1,3}\\.\\d+),(-?\\d{1,3}\\.\\d+)(?:.*)",
|
||||||
|
"(?:.*)q=loc:(-?\\d{1,3}\\.\\d+),(-?\\d{1,3}\\.\\d+)&z=(\\d{1,2})(?:.*)",
|
||||||
|
"(?:.*)(q=loc:)(-?\\d{1,3}\\.\\d+),(-?\\d{1,3}\\.\\d+)(?:.*)",
|
||||||
|
"(.*)daddr=(-?\\d{1,3}\\.\\d+),(-?\\d{1,3}\\.\\d+)(?:.*)",
|
||||||
|
"(.*)/(-?\\d{1,3}\\.\\d+),(-?\\d{1,3}\\.\\d+)(?:.*)" };
|
||||||
|
|
||||||
final String[] yandexRuSite = { "//maps.yandex.ru/" };
|
final String[] yandexRuSite = { "//maps.yandex.ru/" };
|
||||||
|
|
||||||
|
@ -152,7 +270,7 @@ public class GeoPointParserUtil {
|
||||||
|
|
||||||
final String patterns[][] = { osmandNetPattern, openstreetmapOrgPattern, openstreetmapDePattern,
|
final String patterns[][] = { osmandNetPattern, openstreetmapOrgPattern, openstreetmapDePattern,
|
||||||
googleComPattern, yandexRuPattern };
|
googleComPattern, yandexRuPattern };
|
||||||
|
// search by geo coordinates
|
||||||
for (int s = 0; s < sites.length; s++) {
|
for (int s = 0; s < sites.length; s++) {
|
||||||
for (int si = 0; si < sites[s].length; si++) {
|
for (int si = 0; si < sites[s].length; si++) {
|
||||||
if (schemeSpecific.startsWith(sites[s][si])) {
|
if (schemeSpecific.startsWith(sites[s][si])) {
|
||||||
|
@ -170,7 +288,7 @@ public class GeoPointParserUtil {
|
||||||
|
|
||||||
final double lat;
|
final double lat;
|
||||||
final double lon;
|
final double lon;
|
||||||
final int zoom;
|
int zoom;
|
||||||
|
|
||||||
// check sequence of values
|
// check sequence of values
|
||||||
if (!matcher.group(3).contains(".")) {
|
if (!matcher.group(3).contains(".")) {
|
||||||
|
@ -178,9 +296,13 @@ public class GeoPointParserUtil {
|
||||||
lon = Double.valueOf(matcher.group(2));
|
lon = Double.valueOf(matcher.group(2));
|
||||||
zoom = Integer.valueOf(matcher.group(3));
|
zoom = Integer.valueOf(matcher.group(3));
|
||||||
} else {
|
} else {
|
||||||
zoom = Integer.valueOf(matcher.group(1));
|
|
||||||
lat = Double.valueOf(matcher.group(2));
|
lat = Double.valueOf(matcher.group(2));
|
||||||
lon = Double.valueOf(matcher.group(3));
|
lon = Double.valueOf(matcher.group(3));
|
||||||
|
try {
|
||||||
|
zoom = Integer.valueOf(matcher.group(1));
|
||||||
|
} catch (NumberFormatException e) {
|
||||||
|
zoom = GeoParsedPoint.NO_ZOOM;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return new GeoParsedPoint(lat, lon, zoom);
|
return new GeoParsedPoint(lat, lon, zoom);
|
||||||
|
@ -193,34 +315,19 @@ public class GeoPointParserUtil {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// search by address string
|
||||||
String q = null;
|
final String[] googleComAddressPattern = new String[] { "(?:.*)daddr=(.*)", "q=(.*)", "(?:.*)/(.*)" };
|
||||||
String parameter = getQueryParameter("q", data);
|
for (int s = 0; s < googleComSite.length; s++) {
|
||||||
if (parameter == null) {
|
for (int p = 0; p < googleComAddressPattern.length; p++) {
|
||||||
parameter = getQueryParameter("daddr", data);
|
final String subString = schemeSpecific.substring(googleComSite[s].length());
|
||||||
|
final Matcher matcher = Pattern.compile(googleComAddressPattern[p]).matcher(subString);
|
||||||
|
if (matcher.matches()) {
|
||||||
|
return new GeoParsedPoint(matcher.group(1));
|
||||||
}
|
}
|
||||||
if (parameter != null) {
|
|
||||||
q = parameter.split(" ")[0];
|
|
||||||
}
|
}
|
||||||
if (q.indexOf(',') != -1) {
|
|
||||||
int i = q.indexOf(',');
|
|
||||||
String lat = q.substring(0, i);
|
|
||||||
String lon = q.substring(i + 1);
|
|
||||||
if (lat.indexOf(':') != -1) {
|
|
||||||
i = lat.indexOf(':');
|
|
||||||
lat = lat.substring(i + 1);
|
|
||||||
}
|
}
|
||||||
try {
|
|
||||||
double llat = Double.parseDouble(lat.trim());
|
|
||||||
double llon = Double.parseDouble(lon.trim());
|
|
||||||
return new GeoParsedPoint(llat, llon);
|
|
||||||
} catch (NumberFormatException e) {
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if ("geo".equals(scheme) || "osmand.geo".equals(scheme)) {
|
if ("geo".equals(scheme) || "osmand.geo".equals(scheme)) {
|
||||||
final String schemeSpecific = data.getSchemeSpecificPart();
|
final String schemeSpecific = data.getSchemeSpecificPart();
|
||||||
if (schemeSpecific == null) {
|
if (schemeSpecific == null) {
|
||||||
|
@ -241,8 +348,6 @@ public class GeoPointParserUtil {
|
||||||
return new GeoParsedPoint(lat, lon, zoom, name);
|
return new GeoParsedPoint(lat, lon, zoom, name);
|
||||||
} else {
|
} else {
|
||||||
// geo:0,0?q=1600+Amphitheatre+Parkway%2C+CA
|
// geo:0,0?q=1600+Amphitheatre+Parkway%2C+CA
|
||||||
// geo:0,0?z=11&q=1600+Amphitheatre+Parkway%2C+CA
|
|
||||||
// zoom parameter is not used in GeoAddressSearch
|
|
||||||
if (query.contains("z="))
|
if (query.contains("z="))
|
||||||
query = query.substring(query.indexOf("&") + 1);
|
query = query.substring(query.indexOf("&") + 1);
|
||||||
return new GeoParsedPoint(query);
|
return new GeoParsedPoint(query);
|
||||||
|
@ -250,9 +355,6 @@ public class GeoPointParserUtil {
|
||||||
} else {
|
} else {
|
||||||
// geo:47.6,-122.3
|
// geo:47.6,-122.3
|
||||||
// geo:47.6,-122.3?z=11
|
// geo:47.6,-122.3?z=11
|
||||||
// allow for http://tools.ietf.org/html/rfc5870 (geo uri) ,
|
|
||||||
// just
|
|
||||||
// ignore everything after ';'
|
|
||||||
final String pattern = "([\\-0-9.]+),([\\-0-9.]+)(?:,([\\-0-9.]+))?(?:\\?z=([0-9]+))?(?:;.*)?";
|
final String pattern = "([\\-0-9.]+),([\\-0-9.]+)(?:,([\\-0-9.]+))?(?:\\?z=([0-9]+))?(?:;.*)?";
|
||||||
int indexQ = schemeSpecific.indexOf("&q");
|
int indexQ = schemeSpecific.indexOf("&q");
|
||||||
final Matcher matcher;
|
final Matcher matcher;
|
||||||
|
@ -352,5 +454,12 @@ public class GeoPointParserUtil {
|
||||||
public boolean isGeoAddress() {
|
public boolean isGeoAddress() {
|
||||||
return geoAddress;
|
return geoAddress;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return isGeoPoint() ? "GeoParsedPoint [lat=" + lat + ", lon=" + lon + ", zoom=" + zoom + ", name=" + name
|
||||||
|
+ "]" : "GeoParsedPoint [query=" + query;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue