Fix #9532
This commit is contained in:
parent
4a24787da3
commit
274760e9d2
4 changed files with 19 additions and 18 deletions
|
@ -1527,7 +1527,7 @@ public class SearchCoreFactory {
|
||||||
sp.location = new LatLon(pnt.getLatitude(), pnt.getLongitude());
|
sp.location = new LatLon(pnt.getLatitude(), pnt.getLongitude());
|
||||||
sp.localeName = ((float)pnt.getLatitude()) +", " + ((float) pnt.getLongitude());
|
sp.localeName = ((float)pnt.getLatitude()) +", " + ((float) pnt.getLongitude());
|
||||||
if (pnt.getZoom() > 0) {
|
if (pnt.getZoom() > 0) {
|
||||||
sp.preferredZoom = pnt.getZoom();
|
sp.preferredZoom = (int) pnt.getZoom();
|
||||||
}
|
}
|
||||||
sp.objectType = ObjectType.LOCATION;
|
sp.objectType = ObjectType.LOCATION;
|
||||||
resultMatcher.publish(sp);
|
resultMatcher.publish(sp);
|
||||||
|
|
|
@ -32,7 +32,8 @@ public class SearchResult {
|
||||||
public double priorityDistance;
|
public double priorityDistance;
|
||||||
|
|
||||||
public LatLon location;
|
public LatLon location;
|
||||||
public double preferredZoom = 15;
|
public float pZ = 15;
|
||||||
|
public int preferredZoom = Math.round(pZ);
|
||||||
|
|
||||||
public String localeName;
|
public String localeName;
|
||||||
public String alternateName;
|
public String alternateName;
|
||||||
|
|
|
@ -142,7 +142,7 @@ public class GeoPointParserUtil {
|
||||||
} else { // data in the query and/or feature strings
|
} else { // data in the query and/or feature strings
|
||||||
double lat = 0;
|
double lat = 0;
|
||||||
double lon = 0;
|
double lon = 0;
|
||||||
double zoom = GeoParsedPoint.NO_ZOOM;
|
float zoom = GeoParsedPoint.NO_ZOOM;
|
||||||
Map<String, String> queryMap = getQueryParameters(uri);
|
Map<String, String> queryMap = getQueryParameters(uri);
|
||||||
if (fragment != null) {
|
if (fragment != null) {
|
||||||
if (fragment.startsWith("map=")) {
|
if (fragment.startsWith("map=")) {
|
||||||
|
@ -187,7 +187,7 @@ public class GeoPointParserUtil {
|
||||||
if (vls != null && vls.length >= 2) {
|
if (vls != null && vls.length >= 2) {
|
||||||
double lat = parseSilentInt(vls[0]) / 100000.;
|
double lat = parseSilentInt(vls[0]) / 100000.;
|
||||||
double lon = parseSilentInt(vls[1]) / 100000.;
|
double lon = parseSilentInt(vls[1]) / 100000.;
|
||||||
double zoom = parseZoom(zm);
|
float zoom = parseZoom(zm);
|
||||||
return new GeoParsedPoint(lat, lon, zoom);
|
return new GeoParsedPoint(lat, lon, zoom);
|
||||||
}
|
}
|
||||||
} else if (simpleDomains.contains(host)) {
|
} else if (simpleDomains.contains(host)) {
|
||||||
|
@ -198,11 +198,11 @@ public class GeoPointParserUtil {
|
||||||
if (params.containsKey("lat") && params.containsKey("lon")) {
|
if (params.containsKey("lat") && params.containsKey("lon")) {
|
||||||
final double lat = parseSilentDouble(params.get("lat"));
|
final double lat = parseSilentDouble(params.get("lat"));
|
||||||
final double lon = parseSilentDouble(params.get("lon"));
|
final double lon = parseSilentDouble(params.get("lon"));
|
||||||
double zoom = GeoParsedPoint.NO_ZOOM;
|
float zoom = GeoParsedPoint.NO_ZOOM;
|
||||||
if (params.containsKey("z")) {
|
if (params.containsKey("z")) {
|
||||||
zoom = parseZoom(params.get("z"));
|
zoom = (float) parseZoom(params.get("z"));
|
||||||
} else if (params.containsKey("zoom")) {
|
} else if (params.containsKey("zoom")) {
|
||||||
zoom = parseZoom(params.get("zoom"));
|
zoom = (float) parseZoom(params.get("zoom"));
|
||||||
}
|
}
|
||||||
return new GeoParsedPoint(lat, lon, zoom);
|
return new GeoParsedPoint(lat, lon, zoom);
|
||||||
}
|
}
|
||||||
|
@ -459,7 +459,7 @@ public class GeoPointParserUtil {
|
||||||
lon = Double.valueOf(positionMatcher.group(2));
|
lon = Double.valueOf(positionMatcher.group(2));
|
||||||
}
|
}
|
||||||
|
|
||||||
double zoom = GeoParsedPoint.NO_ZOOM;
|
float zoom = GeoParsedPoint.NO_ZOOM;
|
||||||
String searchRequest = null;
|
String searchRequest = null;
|
||||||
for (String param : queryPart.split("&")) {
|
for (String param : queryPart.split("&")) {
|
||||||
String paramName;
|
String paramName;
|
||||||
|
@ -475,7 +475,7 @@ public class GeoPointParserUtil {
|
||||||
|
|
||||||
if ("z".equals(paramName) && paramValue != null) {
|
if ("z".equals(paramName) && paramValue != null) {
|
||||||
// zoom = Double.valueOf(paramValue).intValue();
|
// zoom = Double.valueOf(paramValue).intValue();
|
||||||
zoom = Double.valueOf(paramValue);
|
zoom = Float.valueOf(paramValue);
|
||||||
} else if ("q".equals(paramName) && paramValue != null) {
|
} else if ("q".equals(paramName) && paramValue != null) {
|
||||||
searchRequest = URLDecoder.decode(paramValue);
|
searchRequest = URLDecoder.decode(paramValue);
|
||||||
}
|
}
|
||||||
|
@ -541,7 +541,7 @@ public class GeoPointParserUtil {
|
||||||
if (vls.length >= 2) {
|
if (vls.length >= 2) {
|
||||||
double lat = parseSilentDouble(vls[0], Double.NaN);
|
double lat = parseSilentDouble(vls[0], Double.NaN);
|
||||||
double lon = parseSilentDouble(vls[1], Double.NaN);
|
double lon = parseSilentDouble(vls[1], Double.NaN);
|
||||||
double zoom = GeoParsedPoint.NO_ZOOM;
|
float zoom = GeoParsedPoint.NO_ZOOM;
|
||||||
if (vls.length >= 3 || zmPart.length() > 0) {
|
if (vls.length >= 3 || zmPart.length() > 0) {
|
||||||
if (zmPart.length() == 0) {
|
if (zmPart.length() == 0) {
|
||||||
zmPart = vls[2];
|
zmPart = vls[2];
|
||||||
|
@ -567,10 +567,10 @@ public class GeoPointParserUtil {
|
||||||
return vl.split(split);
|
return vl.split(split);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static double parseZoom(String zoom) {
|
private static float parseZoom(String zoom) {
|
||||||
try {
|
try {
|
||||||
if (zoom != null) {
|
if (zoom != null) {
|
||||||
return Double.valueOf(zoom);
|
return Float.valueOf(zoom);
|
||||||
}
|
}
|
||||||
} catch (NumberFormatException e) {
|
} catch (NumberFormatException e) {
|
||||||
}
|
}
|
||||||
|
@ -584,7 +584,7 @@ public class GeoPointParserUtil {
|
||||||
private static double parseSilentDouble(String zoom, double vl) {
|
private static double parseSilentDouble(String zoom, double vl) {
|
||||||
try {
|
try {
|
||||||
if (zoom != null) {
|
if (zoom != null) {
|
||||||
return Double.valueOf(zoom);
|
return Float.valueOf(zoom);
|
||||||
}
|
}
|
||||||
} catch (NumberFormatException e) {
|
} catch (NumberFormatException e) {
|
||||||
}
|
}
|
||||||
|
@ -602,11 +602,11 @@ public class GeoPointParserUtil {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class GeoParsedPoint {
|
public static class GeoParsedPoint {
|
||||||
public static final double NO_ZOOM = -1;
|
public static final float NO_ZOOM = -1;
|
||||||
|
|
||||||
private double lat = 0;
|
private double lat = 0;
|
||||||
private double lon = 0;
|
private double lon = 0;
|
||||||
private double zoom = NO_ZOOM;
|
private float zoom = NO_ZOOM;
|
||||||
private String label;
|
private String label;
|
||||||
private String query;
|
private String query;
|
||||||
private boolean geoPoint;
|
private boolean geoPoint;
|
||||||
|
@ -625,12 +625,12 @@ public class GeoPointParserUtil {
|
||||||
this.label = label.replaceAll("\\+", " ");
|
this.label = label.replaceAll("\\+", " ");
|
||||||
}
|
}
|
||||||
|
|
||||||
public GeoParsedPoint(double lat, double lon, double zoom) {
|
public GeoParsedPoint(double lat, double lon, float zoom) {
|
||||||
this(lat, lon);
|
this(lat, lon);
|
||||||
this.zoom = zoom;
|
this.zoom = zoom;
|
||||||
}
|
}
|
||||||
|
|
||||||
public GeoParsedPoint(double lat, double lon, double zoom, String label) {
|
public GeoParsedPoint(double lat, double lon, float zoom, String label) {
|
||||||
this(lat, lon, label);
|
this(lat, lon, label);
|
||||||
this.zoom = zoom;
|
this.zoom = zoom;
|
||||||
}
|
}
|
||||||
|
|
|
@ -39,7 +39,7 @@ public class GeoPointParserUtilTest {
|
||||||
final double dlat = 34.99393, dlon = -106.61568;
|
final double dlat = 34.99393, dlon = -106.61568;
|
||||||
final double longLat = 34.993933029174805, longLon = -106.615680694580078;
|
final double longLat = 34.993933029174805, longLon = -106.615680694580078;
|
||||||
final String name = "Treasure Island";
|
final String name = "Treasure Island";
|
||||||
double z = GeoParsedPoint.NO_ZOOM;
|
float z = GeoParsedPoint.NO_ZOOM;
|
||||||
String url;
|
String url;
|
||||||
|
|
||||||
String noQueryParameters[] = {
|
String noQueryParameters[] = {
|
||||||
|
|
Loading…
Reference in a new issue