Fix #6146
This commit is contained in:
parent
7f6b0ed216
commit
d819db7c8e
3 changed files with 33 additions and 1 deletions
|
@ -514,7 +514,8 @@ public class SearchUICore {
|
|||
|
||||
public boolean isSearchMoreAvailable(SearchPhrase phrase) {
|
||||
for (SearchCoreAPI api : apis) {
|
||||
if (api.getSearchPriority(phrase) >= 0 && api.isSearchMoreAvailable(phrase)) {
|
||||
if (api.isSearchAvailable(phrase) && api.getSearchPriority(phrase) >= 0
|
||||
&& api.isSearchMoreAvailable(phrase)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -246,6 +246,21 @@ public class PoiUIFilter implements SearchPoiTypeFilter, Comparable<PoiUIFilter>
|
|||
return amenityList;
|
||||
}
|
||||
|
||||
public double getSearchRadius(int radius) {
|
||||
if (radius < 0) {
|
||||
distanceInd = 0;
|
||||
} else if (radius < distanceToSearchValues.length) {
|
||||
distanceInd = radius;
|
||||
} else {
|
||||
distanceInd = distanceToSearchValues.length - 1;
|
||||
}
|
||||
return distanceToSearchValues[distanceInd] * 1000;
|
||||
}
|
||||
|
||||
public int getMaxSearchRadiusIndex() {
|
||||
return distanceToSearchValues.length - 1;
|
||||
}
|
||||
|
||||
public boolean isAutomaticallyIncreaseSearch() {
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -324,6 +324,7 @@ public class QuickSearchHelper implements ResourceListener {
|
|||
}
|
||||
|
||||
public static class SearchOnlineApi extends SearchBaseAPI {
|
||||
private static final int SEARCH_RADIUS_INCREMENT = 3;
|
||||
|
||||
private OsmandApplication app;
|
||||
private NominatimPoiFilter filter;
|
||||
|
@ -379,6 +380,21 @@ public class QuickSearchHelper implements ResourceListener {
|
|||
sr.preferredZoom = 17;
|
||||
return sr;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMinimalSearchRadius(SearchPhrase phrase) {
|
||||
return (int)filter.getSearchRadius(phrase.getRadiusLevel() + SEARCH_RADIUS_INCREMENT);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getNextSearchRadius(SearchPhrase phrase) {
|
||||
return (int)filter.getSearchRadius(phrase.getRadiusLevel() + SEARCH_RADIUS_INCREMENT + 1);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSearchMoreAvailable(SearchPhrase phrase) {
|
||||
return phrase.getRadiusLevel() + SEARCH_RADIUS_INCREMENT < filter.getMaxSearchRadiusIndex();
|
||||
}
|
||||
}
|
||||
|
||||
public static class SearchHistoryAPI extends SearchBaseAPI {
|
||||
|
|
Loading…
Reference in a new issue