From 27bd894e56a9cb3a2d9a60d7c196db826b3a6e72 Mon Sep 17 00:00:00 2001 From: ivanPyrohivskyi Date: Mon, 15 Mar 2021 17:34:17 +0200 Subject: [PATCH] Fix reverse geocoding for building only --- .../main/java/net/osmand/binary/GeocodingUtilities.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/OsmAnd-java/src/main/java/net/osmand/binary/GeocodingUtilities.java b/OsmAnd-java/src/main/java/net/osmand/binary/GeocodingUtilities.java index a372f12aa1..934672c95b 100644 --- a/OsmAnd-java/src/main/java/net/osmand/binary/GeocodingUtilities.java +++ b/OsmAnd-java/src/main/java/net/osmand/binary/GeocodingUtilities.java @@ -282,10 +282,12 @@ public class GeocodingUtilities { } else { Collections.sort(streetsList, DISTANCE_COMPARATOR); double streetDistance = 0; + boolean isBuildingFound = knownMinBuildingDistance > 0; for (GeocodingResult street : streetsList) { - if (streetDistance == 0) { + boolean skipStreet = streetDistance > 0 && street.getDistance() > streetDistance + DISTANCE_STREET_FROM_CLOSEST_WITH_SAME_NAME; + if (streetDistance == 0 || !isBuildingFound) { streetDistance = street.getDistance(); - } else if (street.getDistance() > streetDistance + DISTANCE_STREET_FROM_CLOSEST_WITH_SAME_NAME) { + } else if (skipStreet) { continue; } street.connectionPoint = road.connectionPoint; @@ -307,6 +309,9 @@ public class GeocodingUtilities { res.add(nextBld); } } + if (skipStreet) { + continue; + } res.add(street); } }