diff --git a/OsmAnd-java/src/net/osmand/binary/BinaryMapIndexReader.java b/OsmAnd-java/src/net/osmand/binary/BinaryMapIndexReader.java index 35f6b11a7d..8b5f0bbdcc 100644 --- a/OsmAnd-java/src/net/osmand/binary/BinaryMapIndexReader.java +++ b/OsmAnd-java/src/net/osmand/binary/BinaryMapIndexReader.java @@ -26,6 +26,8 @@ import java.util.List; import java.util.Map; import java.util.Map.Entry; import java.util.TreeMap; +import java.util.regex.Matcher; +import java.util.regex.Pattern; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; @@ -397,7 +399,7 @@ public class BinaryMapIndexReader { } return ""; } - + public String getRegionName() { List rg = getRegionNames(); if (rg.size() == 0) { @@ -405,7 +407,24 @@ public class BinaryMapIndexReader { } String ls = rg.get(0); if (ls.lastIndexOf('_') != -1) { - return ls.substring(0, ls.lastIndexOf('_')).replace('_', ' '); + if (ls.matches(".*([0-9]+_*){3}\\.obf")) { + Pattern osmDiffDateEnding = Pattern.compile("_([0-9]+_*){3}\\.obf"); + Matcher m = osmDiffDateEnding.matcher(ls); + if (m.find()) { + ls = ls.substring(0, m.start()); + } + return ls.substring(0, ls.lastIndexOf('_')).replace('_', ' '); + + } else { + if (ls.contains(".")) { + ls = ls.substring(0, ls.indexOf(".")); + } + if (ls.endsWith("_2")) { + ls = ls.substring(0, ls.length() - "_2".length()); + } + return ls.substring(0, ls.lastIndexOf('_')).replace('_', ' '); + } + } return ls; } diff --git a/OsmAnd-java/src/net/osmand/data/Amenity.java b/OsmAnd-java/src/net/osmand/data/Amenity.java index fef60b5866..4bc6df691e 100644 --- a/OsmAnd-java/src/net/osmand/data/Amenity.java +++ b/OsmAnd-java/src/net/osmand/data/Amenity.java @@ -29,6 +29,8 @@ public class Amenity extends MapObject { public static final String OPENING_HOURS = "opening_hours"; public static final String CONTENT = "content"; public static final String CUISINE = "cuisine"; + public static final String OSM_DELETE_VALUE = "delete"; + public static final String OSM_DELETE_TAG = "osmand_change"; private String subType; private PoiCategory type; @@ -307,4 +309,8 @@ public class Amenity extends MapObject { } return x; } + + public boolean isClosed() { + return OSM_DELETE_VALUE.equals(getAdditionalInfo(OSM_DELETE_TAG)); + } } diff --git a/OsmAnd-java/src/net/osmand/search/core/SearchCoreFactory.java b/OsmAnd-java/src/net/osmand/search/core/SearchCoreFactory.java index a6e21fe416..52d004a8d3 100644 --- a/OsmAnd-java/src/net/osmand/search/core/SearchCoreFactory.java +++ b/OsmAnd-java/src/net/osmand/search/core/SearchCoreFactory.java @@ -38,14 +38,18 @@ import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.HashMap; +import java.util.HashSet; import java.util.Iterator; import java.util.LinkedHashMap; import java.util.LinkedHashSet; import java.util.List; import java.util.Map; import java.util.Map.Entry; +import java.util.Set; +import java.util.TreeSet; import gnu.trove.list.array.TIntArrayList; +import gnu.trove.set.hash.TLongHashSet; public class SearchCoreFactory { @@ -486,6 +490,7 @@ public class SearchCoreFactory { SearchPhraseDataType.POI); final NameStringMatcher nm = phrase.getNameStringMatcher(); QuadRect bbox = phrase.getRadiusBBoxToSearch(BBOX_RADIUS_INSIDE); + final Set ids = new HashSet(); SearchRequest req = BinaryMapIndexReader.buildSearchPoiRequest( (int)bbox.centerX(), (int)bbox.centerY(), phrase.getUnknownSearchWord(), @@ -498,6 +503,10 @@ public class SearchCoreFactory { if (limit ++ > LIMIT) { return false; } + String poiID = object.getType().getKeyName() + "_" + object.getId(); + if (ids.contains(poiID)) { + return false; + } SearchResult sr = new SearchResult(phrase); sr.otherNames = object.getAllNames(true); sr.localeName = object.getName(phrase.getSettings().getLang(), phrase.getSettings().isTransliterate()); @@ -523,6 +532,7 @@ public class SearchCoreFactory { phrase.countUnknownWordsMatch(sr); sr.objectType = ObjectType.POI; resultMatcher.publish(sr); + ids.add(poiID); return false; } @@ -726,8 +736,9 @@ public class SearchCoreFactory { QuadRect bbox = phrase.getRadiusBBoxToSearch(10000); List oo = phrase.getOfflineIndexes(); + Set searchedPois = new TreeSet<>(); for (BinaryMapIndexReader o : oo) { - ResultMatcher rm = getResultMatcher(phrase, resultMatcher, o); + ResultMatcher rm = getResultMatcher(phrase, resultMatcher, o, searchedPois); if (obj instanceof CustomSearchPoiFilter) { rm = ((CustomSearchPoiFilter) obj).wrapResultMatcher(rm); } @@ -743,13 +754,20 @@ public class SearchCoreFactory { } private ResultMatcher getResultMatcher(final SearchPhrase phrase, final SearchResultMatcher resultMatcher, - final BinaryMapIndexReader selected) { + final BinaryMapIndexReader selected, final Set searchedPois) { final NameStringMatcher ns = phrase.getNameStringMatcher(); return new ResultMatcher() { @Override public boolean publish(Amenity object) { SearchResult res = new SearchResult(phrase); + String poiID = object.getType().getKeyName() + "_" + object.getId(); + if(!searchedPois.add(poiID)) { + return false; + } + if(object.isClosed()) { + return false; + } res.localeName = object.getName(phrase.getSettings().getLang(), phrase.getSettings().isTransliterate()); res.otherNames = object.getAllNames(true); if (Algorithms.isEmpty(res.localeName)) { diff --git a/OsmAnd-java/src/net/osmand/search/core/SearchPhrase.java b/OsmAnd-java/src/net/osmand/search/core/SearchPhrase.java index 10327e832a..e0eac2a796 100644 --- a/OsmAnd-java/src/net/osmand/search/core/SearchPhrase.java +++ b/OsmAnd-java/src/net/osmand/search/core/SearchPhrase.java @@ -13,6 +13,7 @@ import net.osmand.util.Algorithms; import net.osmand.util.MapUtils; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collection; import java.util.Collections; import java.util.Comparator; @@ -531,41 +532,74 @@ public class SearchPhrase { } } - public void sortFiles() { - if(indexes == null) { - indexes = new ArrayList<>(getOfflineIndexes()); - } - final LatLon ll = getLastTokenLocation(); - if(ll != null) { - Collections.sort(indexes, new Comparator() { - Map locations = new HashMap<>(); + public void sortFiles() { + if (indexes == null) { + indexes = new ArrayList<>(getOfflineIndexes()); + } + Map> diffsByRegion = getDiffsByRegion(); + final LatLon ll = getLastTokenLocation(); + if (ll != null) { + Collections.sort(indexes, new Comparator() { + Map locations = new HashMap<>(); - @Override - public int compare(BinaryMapIndexReader o1, BinaryMapIndexReader o2) { - LatLon rc1 = o1 == null ? null : getLocation(o1); - LatLon rc2 = o2 == null ? null : getLocation(o2); - double d1 = rc1 == null ? 10000000d : MapUtils.getDistance(rc1, ll); - double d2 = rc2 == null ? 10000000d : MapUtils.getDistance(rc2, ll); - return Double.compare(d1, d2); - } + @Override + public int compare(BinaryMapIndexReader o1, BinaryMapIndexReader o2) { + LatLon rc1 = o1 == null ? null : getLocation(o1); + LatLon rc2 = o2 == null ? null : getLocation(o2); + double d1 = rc1 == null ? 10000000d : MapUtils.getDistance(rc1, ll); + double d2 = rc2 == null ? 10000000d : MapUtils.getDistance(rc2, ll); + return Double.compare(d1, d2); + } + + private LatLon getLocation(BinaryMapIndexReader o1) { + if (locations.containsKey(o1)) { + return locations.get(o1); + } + LatLon rc1 = null; + if (o1.containsMapData()) { + rc1 = o1.getMapIndexes().get(0).getCenterLatLon(); + } else { + rc1 = o1.getRegionCenter(); + } + locations.put(o1, rc1); + return rc1; + } + }); + if (!diffsByRegion.isEmpty()) { + List finalSort = new ArrayList<>(); + for (int i = 0; i < indexes.size(); i++) { + BinaryMapIndexReader currFile = indexes.get(i); + if (diffsByRegion.get(currFile.getRegionName()) != null) { + finalSort.addAll(diffsByRegion.get(currFile.getRegionName())); + finalSort.add(currFile); + } else { + finalSort.add(currFile); + } + } + indexes.clear(); + indexes.addAll(finalSort); + } + } + } + + private Map> getDiffsByRegion() { + Map> result = new HashMap<>(); + Iterator it = indexes.iterator(); + while (it.hasNext()) { + BinaryMapIndexReader r = it.next(); + if (r.getFile().getName().matches(".*([0-9]+_*){3}\\.obf")) { + String currRegionName = r.getRegionName(); + if (result.containsKey(currRegionName)) { + result.get(currRegionName).add(r); + } else { + result.put(currRegionName, new ArrayList<>(Arrays.asList(r))); + } + it.remove(); + } + } + return result; + } - private LatLon getLocation(BinaryMapIndexReader o1) { - if(locations.containsKey(o1)) { - return locations.get(o1); - } - LatLon rc1 = null; - if(o1.containsMapData()) { - rc1 = o1.getMapIndexes().get(0).getCenterLatLon(); - } else { - rc1 = o1.getRegionCenter(); - } - locations.put(o1, rc1); - return rc1; - } - }); - } - } - public static class NameStringMatcher implements StringMatcher { private CollatorStringMatcher sm; diff --git a/OsmAnd-java/src/net/osmand/util/Algorithms.java b/OsmAnd-java/src/net/osmand/util/Algorithms.java index 4d3637bf98..32a01eb452 100644 --- a/OsmAnd-java/src/net/osmand/util/Algorithms.java +++ b/OsmAnd-java/src/net/osmand/util/Algorithms.java @@ -2,6 +2,7 @@ package net.osmand.util; import net.osmand.IProgress; import net.osmand.PlatformUtil; +import net.osmand.binary.BinaryMapIndexReader; import org.apache.commons.logging.Log; @@ -113,29 +114,39 @@ public class Algorithms { return -simplifyFileName(o1.getName()).compareTo(simplifyFileName(o2.getName())); } - public String simplifyFileName(String fn) { - String lc = fn.toLowerCase(); - if (lc.contains(".")) { - lc = lc.substring(0, lc.indexOf(".")); - } - if (lc.endsWith("_2")) { - lc = lc.substring(0, lc.length() - "_2".length()); - } - boolean hasTimestampEnd = false; - for (int i = 0; i < lc.length(); i++) { - if (lc.charAt(i) >= '0' && lc.charAt(i) <= '9') { - hasTimestampEnd = true; - break; - } - } - if (!hasTimestampEnd) { - lc += "_00_00_00"; - } - return lc; - } }; } + private static String simplifyFileName(String fn) { + String lc = fn.toLowerCase(); + if (lc.contains(".")) { + lc = lc.substring(0, lc.indexOf(".")); + } + if (lc.endsWith("_2")) { + lc = lc.substring(0, lc.length() - "_2".length()); + } + boolean hasTimestampEnd = false; + for (int i = 0; i < lc.length(); i++) { + if (lc.charAt(i) >= '0' && lc.charAt(i) <= '9') { + hasTimestampEnd = true; + break; + } + } + if (!hasTimestampEnd) { + lc += "_00_00_00"; + } + return lc; + } + + public static Comparator getStringVersionComparator() { + return new Comparator() { + @Override + public int compare(String o1, String o2) { + return -simplifyFileName(o1).compareTo(simplifyFileName(o2)); + } + }; + } + private static final char CHAR_TOSPLIT = 0x01; public static Map decodeMap(String s) { diff --git a/OsmAnd/res/layout/fragment_marker_show_direction_bottom_sheet_dialog.xml b/OsmAnd/res/layout/fragment_marker_show_direction_bottom_sheet_dialog.xml index 6e667ee0b3..1e0030de66 100644 --- a/OsmAnd/res/layout/fragment_marker_show_direction_bottom_sheet_dialog.xml +++ b/OsmAnd/res/layout/fragment_marker_show_direction_bottom_sheet_dialog.xml @@ -38,7 +38,7 @@ android:paddingLeft="@dimen/bottom_sheet_content_padding" android:paddingRight="@dimen/bottom_sheet_content_padding" android:paddingStart="@dimen/bottom_sheet_content_padding" - android:text="@string/measurement_tool_save_as_new_track_descr" + android:text="@string/marker_show_distance_descr" android:textColor="?android:textColorSecondary" android:textSize="@dimen/default_desc_text_size"/> @@ -76,7 +76,7 @@ android:layout_marginLeft="@dimen/bottom_sheet_image_text_margin_start" android:layout_marginStart="@dimen/bottom_sheet_image_text_margin_start" android:layout_marginTop="@dimen/bottom_sheet_content_margin_small" - android:text="@string/top_bar" + android:text="@string/shared_string_topbar" android:textColor="?android:textColorSecondary" android:textSize="@dimen/default_split_segments_sub"/> @@ -108,7 +108,7 @@ android:layout_marginLeft="@dimen/bottom_sheet_image_text_margin_start" android:layout_marginStart="@dimen/bottom_sheet_image_text_margin_start" android:layout_marginTop="@dimen/bottom_sheet_content_margin_small" - android:text="@string/widget" + android:text="@string/shared_string_widgets" android:textColor="?android:textColorSecondary" android:textSize="@dimen/default_split_segments_sub"/> @@ -144,7 +144,7 @@ android:layout_toEndOf="@id/top_bar_icon" android:layout_toRightOf="@id/top_bar_icon" android:maxLines="1" - android:text="@string/top_bar" + android:text="@string/shared_string_topbar" android:textAppearance="@style/TextAppearance.ListItemTitle"/> الملف %1$s لا يحتوي على نقاط وجهة، هل تود ادخاله كمسار؟ تحريك نقطة إضافة إلى مسار GPX - +اتجاه الخريطة يتغيير وفقا للسرعة + استخدام بوصلة الجهاز بدل اتجاه الحركة لتحديد اتجاه الخريطة أثناء سرعة منخفضة + كافة علامات انتقلت إلى التاريخ + العلامة انتقلت إلى التاريخ + العلامة انتقلت إلى نشطة + قائمة + مجموعات + تم تجاوزه: %1$s + جعله نشطاً + اليوم + أمس + آخر 7 أيام + هذه السنة + ويدجت + الشريط العلوي + نقل الكل إلى التاريخ + بناء طريق + إظهار الاتجاه + فرز حسب + عدم استخدام الرسوم المتحركة + تعطيل الرسوم المتحركة في التطبيق + استمرار العرض على الخريطة + الخروج دون حفظ؟ + diff --git a/OsmAnd/res/values-be-rBY/strings.xml b/OsmAnd/res/values-be-rBY/strings.xml index e540f237e2..1601d0125b 100644 --- a/OsmAnd/res/values-be-rBY/strings.xml +++ b/OsmAnd/res/values-be-rBY/strings.xml @@ -1742,7 +1742,7 @@ Miesca parkoŭkі і čas vіdać na paneli kіravańnia OsmAnd і na vіdžecie Paźbiahać daroh Abrany dla zachoŭvańnia źviestak kataloh dastupny tolkі dla čytańnia. Kataloh zachoŭvańnia časova raźmieščany va ŭnutranaj pamiacі. Kali łaska, abiarycie padychodziačy kataloh dla zachoŭvańnia źviestak. Sumiesnaja pamiać - Vierchniaja panel + Vierchniaja paneĺ Poŭnaja spravazdača Pieraličyć maršrut Іmia karystalnіka і parol OpenStreetMap @@ -2812,7 +2812,23 @@ U vypadku, kali vy lubіcie OsmAnd і OSM і chočacie padtrymać jaho, heta іd Adklučeńnie animacyi ŭ prahramie Pieramiascić usio ŭ historyju Pabudavać maršrut - Pakazać napramak + Indykacyja adliehlasci Sartavać pa Nalady markiera + Abrać jak pakazvać adliehlasć i napramak da markieraŭ na ekranie mapy: + Paroh aryjentacyi mapy + Abiarycie nižej, na jakoj chutkasct aryjentacyja mapy pierakliučajecca z «Napramku ruchu» u «Pa kompasu» + Usie markiery pieraniesieny ŭ historyju + Markier mapy pieraniesieny ŭ historyju + Markier mapy staŭ aktyŭnym + Spis + Hrupy + Projdziena: %1$s + Aktyvizavać + Sionnia + Učora + Apošnija 7 dzion + Siolieta + Vidžet + Vierchniaja paneĺ diff --git a/OsmAnd/res/values-be/phrases.xml b/OsmAnd/res/values-be/phrases.xml index e269d4cf2e..0a9e2da2c9 100644 --- a/OsmAnd/res/values-be/phrases.xml +++ b/OsmAnd/res/values-be/phrases.xml @@ -3522,4 +3522,13 @@ Сетка +Архіў + Міністэрства + Дзяржаўная служба + Сацыяльная абарона + Сацыяльныя службы + Казначэйства + Транспартная ўстанова + Заканадаўчая ўстанова + diff --git a/OsmAnd/res/values-be/strings.xml b/OsmAnd/res/values-be/strings.xml index 8738d9e21d..3af923834b 100644 --- a/OsmAnd/res/values-be/strings.xml +++ b/OsmAnd/res/values-be/strings.xml @@ -2861,7 +2861,23 @@ Адключэньне анімацыі ў праграме Перамясціць усё ў гісторыю Пабудаваць маршрут - Паказаць напрамак + Індыкацыя адлегласці Сартаваць па Налады маркера + Абраць як паказваць адлегласць і напрамак да маркераў на экране мапы: + Парог арыентацыі мапы + Абярыце ніжэй, на якой хуткасцт арыентацыя мапы пераключаецца з «Напрамку руху» у «Па компасу» + Усе маркеры перанесены ў гісторыю + Маркер мапы перанесены ў гісторыю + Маркер мапы стаў актыўным + Спіс + Групы + Пройдзена: %1$s + Актывізаваць + Сёння + Учора + Апошнія 7 дзён + Сёлета + Віджэт + Верхняя панэль diff --git a/OsmAnd/res/values-ca/strings.xml b/OsmAnd/res/values-ca/strings.xml index b56f926d09..a83a5d5a1b 100644 --- a/OsmAnd/res/values-ca/strings.xml +++ b/OsmAnd/res/values-ca/strings.xml @@ -1558,7 +1558,7 @@ Memòria proporcional %4$s MB (límit de l\'Android %5$s MB, Dalvik %6$s MB). El nom de grup ha de tenir una mida mínima de 3 caràcters! "Esteu a punt de pujar %1$d modificacio(ns) a OSM. N\'esteu segur?" - Voleu esborrar l\'històric? + Voleu esborrar l\'historial? Indiqueu el temps d\'espera sense canvis per tancar la pantalla de planificació de la ruta Inici de navegació gir a gir després de… Vés @@ -2179,7 +2179,7 @@ L\'ús de memòria serà de {3} MB temporalment i {1} MB permanentment. Obteniu indicacions i descobriu llocs nous sense connexió a Internet Milles/metres Obteniu-lo per %1$s - Obteniu-lo per %1$s mesos + Obteniu-lo per %1$s al mes Obteniu nous mapes i actualitzacions sense límit més sovint d\'un cop al mes: cada hora, dia o setmana. Baixada il·limitada de mapes, actualitzacions i el connector Viquipèdia. Obteniu-lo @@ -2201,7 +2201,7 @@ L\'ús de memòria serà de {3} MB temporalment i {1} MB permanentment. Edita les categories Subcategories Translitera els noms - Si no hi ha noms en %1$s translitera els propis + Translitera si el nom %1$s no existeix Esquema de color de les línies de contorn Velocitat mínima per registrar la ruta Filtre: Establiu la velocitat mínima per enregistrar els punts @@ -2612,9 +2612,24 @@ Abasta l\'àrea: %1$s x %2$s Voleu sortir sense desar? Sense ús d\'animacions Desactiva les animacions a l\'aplicació - Mou tot a l\'històric + Mou tot a l\'historial Calcula la ruta Mostra la direcció Ordena per Opcions de marcador + Orientació del mapa seguint la direcció del moviment + Utilitza la brúixola interna per determinar l\'orientació del mapa a baixa velocitat en comptes de la direcció del moviment + Tots els marcadors s\'han mogut a Historial + El marcador s\'ha mogut a Historial + Marcador activat + Llista + Grups + Acceptat: %1$s + Activa + Avui + Ahir + Darrers 7 dies + Aquest any + Giny + Barra superior diff --git a/OsmAnd/res/values-cs/strings.xml b/OsmAnd/res/values-cs/strings.xml index 84bb1f2902..4a3b8ef7b5 100644 --- a/OsmAnd/res/values-cs/strings.xml +++ b/OsmAnd/res/values-cs/strings.xml @@ -2739,4 +2739,19 @@ Pokud potřebujete pomoci s aplikací OsmAnd, prosím kontaktujte naši podporu Zakáže animace v aplikaci Stále zobrazovat na mapě Ukončit bez uložení? + Změna orientace mapy v závislosti na rychlosti + Při nízké rychlosti použít k určení orientace mapy vestavěný kompas namísto směru pohybu + Všechny značky přesunuty do Historie + Značka přesunuta do Historie + Značka přesunuta do Aktivní + Seznam + Skupiny + Prošlé: %1$s + Aktivovat + Dnes + Včera + Posledních 7 dní + Tento rok + Nástroj + Horní lišta diff --git a/OsmAnd/res/values-da/strings.xml b/OsmAnd/res/values-da/strings.xml index 342beb4764..c971c7c687 100644 --- a/OsmAnd/res/values-da/strings.xml +++ b/OsmAnd/res/values-da/strings.xml @@ -2863,7 +2863,21 @@ Tidligere destination bliver sidste mellemliggende punkt. Deaktiverer animationer i programmet Flyt alle til historik Beregn rute - Vis retning + Afstandsangivelse Sorter efter Markør indstillinger + Liste + Grupper + I dag + I går + Sidste 7 dage + I år + Modul + Kortets orientering ændres i overensstemmelse med hastigheden + Brug det indbyggede kompas i stedet for bevægelsesretningen til at bestemme orienteringen af kortet ved lav hastighed + Alle kortmarkører flyttet til historik + Kortmarkør flyttet til historik + Kortmarkør flyttet til aktiv + Bestået: %1$s + Aktivér diff --git a/OsmAnd/res/values-eo/phrases.xml b/OsmAnd/res/values-eo/phrases.xml index c6ebf4c0bb..f6fdcae188 100644 --- a/OsmAnd/res/values-eo/phrases.xml +++ b/OsmAnd/res/values-eo/phrases.xml @@ -3485,4 +3485,13 @@ Reto +Arĥivejo + Ministrejo + Publika servo + Socia sekuro + Socia servo + Trezorejo + Transporta institucio + Leĝdona institucio + diff --git a/OsmAnd/res/values-eo/strings.xml b/OsmAnd/res/values-eo/strings.xml index ee69ebb7bb..a742dbc0f4 100644 --- a/OsmAnd/res/values-eo/strings.xml +++ b/OsmAnd/res/values-eo/strings.xml @@ -25,7 +25,7 @@ Parto de enspezo revenos al la OSM-komunumo kaj estos pagita por iu ajn kontribuaĵo al OSM. Se vi ŝategas OsmAnd kaj OSM kaj vi volas subteni ilin, tio ĉi estas la plej bona kielo. - Elekti mapmarkon + Elekti map-markon Aliaj markoj Alŝuti anonime geo: @@ -218,15 +218,15 @@ Nuntempe elektita datum-konservada dosierujo estas nurlega. La konservada dosierujo estas provizore agordita en interna memorejo. Bonvolu elekti ĝustan konservadan dosierujon. Komuna memoro Monata elspezo - Unua mapmarko - Dua mapmarko - Ĉu vi volas aldoni ĉiujn punktojn al mapmarkoj? - Aldoni al mapmarkoj - Elekti mapmarkojn - Ebligi uzi mapmarkojn + Unua map-marko + Dua map-marko + Ĉu vi volas aldoni ĉiujn punktojn al map-markoj? + Aldoni al map-markoj + Elekti map-markojn + Ebligi uzi map-markojn Ĉu vi volas forigi ĉiujn aktivajn mapmarkojn? - Mapmarkoj - Mapmarko + Map-markoj + Map-marko Ĉu vi volas forviŝi historion de mapmarkoj? Aktivaj markoj Navaha @@ -2775,7 +2775,23 @@ Indikas lokon: %1$s x %2$s" Malaktivigi animaciojn en la aplikaĵo Movi ĉiujn al historio Kalkuli kurson - Montri direkton + Distanc-vidigo Ordigi laŭ Agordo de marko + Elekti kiel vidigi distancon kaj direkton al map-markoj sur la map-ekrano: + Map-orientiĝa sojlo + Elekti rapidon sube kiun map-orientiĝo ŝanĝiĝos el ‘laŭ direkto de movado’ al ‘laŭ kompaso’ + Ĉiuj map-markoj movitaj al historio + Map-marko movita al historio + Map-marko movita al aktivaj + Listo + Grupoj + Pasigita: %1$s + Aktivigi + Hodiaŭ + Hieraŭ + Lastaj 7 tagoj + Tiu ĉi jaro + Fenestraĵo + Supra breto diff --git a/OsmAnd/res/values-es-rAR/strings.xml b/OsmAnd/res/values-es-rAR/strings.xml index c7d225edc7..bd0c5d8458 100644 --- a/OsmAnd/res/values-es-rAR/strings.xml +++ b/OsmAnd/res/values-es-rAR/strings.xml @@ -766,8 +766,8 @@ Se aprecia la participación activa, y las contribuciones pueden hacerse directa Elegir a petición Grabar video Grabar audio - Elige la acción predeterminada - Acción predeterminada + Elige la acción predefinida + Acción predefinida Elige el formato de salida del video Formato de salida del video Usa la grabadora de video del sistema @@ -2739,7 +2739,23 @@ Proporciona un código completo Desactiva las animaciones en la aplicación Mover todo al historial Crear ruta - Mostrar dirección + Indicación de distancia Ordenar por Opciones del marcador + Umbral de orientación del mapa + Elije la velocidad a partir de la cual la orientación del mapa cambia de «Dirección del movimiento» a «Brújula» + Todos los marcadores del mapa movidos al historial + Marcador del mapa movido al historial + Marcador del mapa movido a los activos + Lista + Grupos + Pasado: %1$s + Activar + Hoy + Ayer + Últimos 7 días + Este año + Control + Barra superior + Elige cómo se indica la distancia y dirección a los marcadores del mapa en la pantalla del mapa: diff --git a/OsmAnd/res/values-es-rUS/strings.xml b/OsmAnd/res/values-es-rUS/strings.xml index 9c9acbb065..f172279a53 100644 --- a/OsmAnd/res/values-es-rUS/strings.xml +++ b/OsmAnd/res/values-es-rUS/strings.xml @@ -766,8 +766,8 @@ Se aprecia la participación activa, y las contribuciones pueden hacerse directa Elegir a petición Grabar video Grabar audio - Elige la acción predeterminada - Acción predeterminada + Elige la acción predefinida + Acción predefinida Elige el formato de salida del video Formato de salida del video Usa la grabadora de video del sistema @@ -2740,7 +2740,23 @@ Proporciona un código completo Desactiva las animaciones en la aplicación Mover todo al historial Crear ruta - Mostrar dirección + Indicación de distancia Ordenar por Opciones del marcador + Umbral de orientación del mapa + Elije la velocidad a partir de la cual la orientación del mapa cambia de «Dirección del movimiento» a «Brújula» + Todos los marcadores del mapa movidos al historial + Marcador del mapa movido al historial + Marcador del mapa movido a los activos + Lista + Grupos + Pasado: %1$s + Activar + Hoy + Ayer + Últimos 7 días + Este año + Control + Barra superior + Elige cómo se indica la distancia y dirección a los marcadores del mapa en la pantalla del mapa: diff --git a/OsmAnd/res/values-es/phrases.xml b/OsmAnd/res/values-es/phrases.xml index 1d2fc87803..0611da9075 100644 --- a/OsmAnd/res/values-es/phrases.xml +++ b/OsmAnd/res/values-es/phrases.xml @@ -3057,7 +3057,7 @@ Longitud Tipo de combustible - Tipo de combustible (aviones) + Tipo Forma de pago Tarjetas de combustible Adicional @@ -3522,4 +3522,13 @@ Red +Archivos gubernamentales + Ministerio + Servicio público + Seguridad social + Servicios sociales + Hacienda pública + Institución de transporte + Institución legislativa + diff --git a/OsmAnd/res/values-es/strings.xml b/OsmAnd/res/values-es/strings.xml index 433edb313e..baddb89911 100644 --- a/OsmAnd/res/values-es/strings.xml +++ b/OsmAnd/res/values-es/strings.xml @@ -2676,7 +2676,23 @@ Por favor proporciona un código completo Añadir a una traza GPX Mover todo al historial Crear ruta - Mostrar dirección + Indicación de distancia Ordenar por Opciones del marcador + Elige cómo se indica la distancia y dirección a los marcadores del mapa en la pantalla del mapa: + Umbral de orientación del mapa + Elije la velocidad a partir de la cual la orientación del mapa cambia de «Dirección del movimiento» a «Brújula» + Todos los marcadores del mapa movido al historial + Marcador del mapa movido al historial + Marcador del mapa movido a los activos + Lista + Grupos + Pasado: %1$s + Activar + Hoy + Ayer + Últimos 7 días + Este año + Control + Barra superior diff --git a/OsmAnd/res/values-eu/strings.xml b/OsmAnd/res/values-eu/strings.xml index 59686f222d..12fd63d21d 100644 --- a/OsmAnd/res/values-eu/strings.xml +++ b/OsmAnd/res/values-eu/strings.xml @@ -2793,4 +2793,19 @@ Area honi dagokio: %1$s x %2$s %1$s fitxategiak ez du bide-punturik, inportatu lorratz gisa? Mugitu puntua Gehitu GPX lorratzera - +Maparen orientazioa abiaduraren arabera aldatzen da + Erabili barne ipar-orratza eta ez mugimenduaren norabidea maparen orientazioa erabakitzeko abiadura txikia denean + Markatzaile guztiak historialera mugituta + Markatzailea historialera mugitu da + Markatzailea aktibora mugitu da + Zerrenda + Taldeak + Gaindituta: %1$s + Aktibatu + Gaur + Atzo + Azken 7 egunak + Aurten + Trepeta + Goiko barra + diff --git a/OsmAnd/res/values-fr/strings.xml b/OsmAnd/res/values-fr/strings.xml index 9ce1e54b8e..40fdd3162c 100644 --- a/OsmAnd/res/values-fr/strings.xml +++ b/OsmAnd/res/values-fr/strings.xml @@ -2228,7 +2228,7 @@ Actuellement {2} Mo sont disponibles. Afficher la barre de recherche transparente Recalculer l\'itinéraire Mémoire partagée - Menu supérieur + Barre supérieure Au préalable achetez un abonnement à OSM Live Une partie de vos dons seront distribués aux utilisateurs OSM ayant soumis des mises à jour dans cette région @@ -2877,7 +2877,7 @@ représentant la zone : %1$s x %2$s \n• Vous pouvez charger et suivre une trace GPX existante; enregistrer et partager un nouvel itinéraire GPX Déplacer tout dans l\'historique Calculer l\'itinéraire - Afficher les indications de direction + Indication de distance Trier par Options de la marque OsmAnd est un projet open source très actif. Tout le monde peut contribuer à l\'application en signalant des bugs, en améliorant les traductions ou en développant de nouvelles fonctionnalités. Les nombreux échanges entre développeurs et utilisateurs permettent d\'améliorer régulièrement OsmAnd et les contributions financières permettent de développer de nouvelles fonctionnalités. @@ -2916,4 +2916,15 @@ représentant la zone : %1$s x %2$s \n• Téléchargements gratuits illimités, directement à partir de l\'application \n• Cartes vectorielles compactes et mises à jour au moins une fois par mois \n• Sélection entre les données régionales complètes ou le réseau routier uniquement (par exemple: 700 Mo pour la carte intégrale du Japon et 200 Mo uniquement pour la carte du réseau routier japonnais). + Aujourd\'hui + Hier + Pilotage de l\'orientation de la carte + Toutes les marques ont été déplacées vers l\'Historique + Marque déplacée vers l\'Historique + Liste + Groupes + Ces 7 derniers jours + Cette année + Marquer comme actif + Barre supérieure diff --git a/OsmAnd/res/values-he/strings.xml b/OsmAnd/res/values-he/strings.xml index 148d536e23..9684c1433b 100644 --- a/OsmAnd/res/values-he/strings.xml +++ b/OsmAnd/res/values-he/strings.xml @@ -348,7 +348,7 @@ אין די מקום כדי להוריד %1$s מ״ב (פנויים: %2$s). - כעת ישנם {2} מ״ב פנויים! האם להוריד {0} קבצים (או קובץ) ({1} מ״ב)? + האם להוריד {0} קבצים (או קובץ) בנפח של {1} מ״ב? (ישנם {2} מ״ב פנויים.) @@ -984,7 +984,7 @@ קטעים קווי הגבהה תוסף זה מאפשר להוריד קווי הגבהה (הורדת מפות -> תפריט -> מפות אחרות) עבור קטע מסוים ולהשתמש בהם למפות בלתי מקוונות. - תוסף SRTM + קווי מתאר מפות אחרות מפות SRTM @@ -1126,7 +1126,7 @@ הגדרה כיעד יעד %1$s מפות זמינות - הפריט נמחק + הפריט הוסר פריטים נמחקו סוג נקודת המוצא @@ -1139,7 +1139,7 @@ יש לבחור או להוריד הנחיה קולית עבור שפתך בחירת דרכים מהן יש להמנע במהלך הניווט קול - ליישום אין הרשאה להשתמש במידע מיקום. + ליישום אין הרשאה להשתמש בנתוני המיקום. ליישום אין הרשאה להשתמש במצלמה. ליישום אין הרשאה להשתמש במיקרופון. מרחק: @@ -1219,10 +1219,10 @@ ל־OsmAnd אין אפשרות לייבא את הקובץ. נא לוודא של־OsmAnd יש הרשאה לקרוא קבצים מהמיקום הזה. המרחק תוקן הפסקה/המשך בניווט - יש ללחוץ על כפתור זה כדי להפסיק את הניווט או כדי להמשיך אם הוא כבר הופסק. + יש לגעת בכפתור זה כדי להמשיך את הניווט. הצגת דו־שיח סיום הניווט - התחלה/סיום הניווט - יש ללחוץ על כפתור זה כדי להתחיל בניווט או כדי לעצור אותו אם הוא כבר החל. + התחלה/עצירת הניווט + יש ללחוץ על כפתור זה כדי להתחיל בניווט או כדי לסיים אותו. אחסון המסלולים המוקלטים בתת־תיקיות לפי חודש ההקלטה (למשל: 2017-01). תמונת Mapillary פתיחת Mapillary diff --git a/OsmAnd/res/values-hu/phrases.xml b/OsmAnd/res/values-hu/phrases.xml index e365279245..4712dd099e 100644 --- a/OsmAnd/res/values-hu/phrases.xml +++ b/OsmAnd/res/values-hu/phrases.xml @@ -3380,7 +3380,7 @@ Típus Szolgáltatások - Motorkerékpár típus + Motorkerékpár-kategória Állatsimogató Vadaspark @@ -3390,19 +3390,19 @@ Hüllők Értékesítés - Értékesítés: nincs - Értékesítés: van; használt + Értékesítés nincs + Értékesítés: új és használt Értékesítés: használt Kölcsönzés - Kölcsönzés: nincs - Szerviz - Szerviz: nincs + Kölcsönzés nincs + Szerelés + Szerelés nincs Alkatrész - Alkatrész: nincs + Alkatrész nincs Gumi - Gumi: nincs - Motoros ruha - Motoros ruha: nincs + Gumi nincs + Motorosruha + Motorosruha nincs Robogó Kifutó Solymászat @@ -3491,4 +3491,14 @@ Közlekedési intézmény Jogalkotási intézmény - +Parkolóhely + + Sportmotor + Chopper + Terepmotor + Túraenduró + Standard + + Hálózat + + diff --git a/OsmAnd/res/values-lt/strings.xml b/OsmAnd/res/values-lt/strings.xml index 7cc31be6d7..7af8d80f04 100644 --- a/OsmAnd/res/values-lt/strings.xml +++ b/OsmAnd/res/values-lt/strings.xml @@ -2764,4 +2764,45 @@ Tai yra puikus būdas paremti OsmAnd ir OSM, jei jie jums patinka. Maks/Min Min/Maks Apytikslė žemėlapių aprėptis ir kokybė: • Vakarų Europa: **** • Rytų Europa: *** • Rusija: *** • Šiaurės Amerika: *** • Pietų Amerika: ** • Azija: ** • Japonija ir Korėja: *** • Artimieji Rytai: ** • Afrika: ** • Antarktika: * Daugelį šalių visame pasaulyje galima atsisiųsti! Nuo Afganistano iki Zimbabvės, nuo Australijos iki JAV. Argentina, Brazilija, Kanada, Prancūzija, Vokietija, Meksika, Jungtinė Karalystė, Ispanija… + Sąrašas + Grupės + Aktyvuoti + Šiandien + Vakar + Per pastarąsias 7 dienas + Šiemet + Valdiklis + Viršutinė juosta + Perkelti visus į istoriją + Sukurti maršrutą + Rodyti kryptį + Rūšiuoti pagal + Nenaudoti animacijos + Išjungia animaciją programoje + Nuolat rodyti žemėlapyje + Ar norite išeiti neįrašę? + Linija + Išsaugoti kaip maršruto taškus + Išsaugoti kaip liniją + Maršruto taškas + Redaguoti liniją + Pridėti tašką prieš + Pridėti tašką po + Parinktys + OsmAnd sujungs taškus su pasirinkto profilio maršrutu. + Taškus galite įrašyti kaip maršruto taškus arba kaip linija. + Pasirinkite navigacijos profilį + Prašome pridėti bent vieną tašką. + GPX failo pavadinimas: + Rodyti žemėlapyje išsaugojus + Naršykite žemėlapį ir pridėkite taškų + Išmatuoti atstumą + Prisidėkite prie OSM • Praneškite apie duomenų klaidas • Įkelkite GPX maršrutus į OSM tiesiai iš programos • Pridėkite LV-as ir tiesiogiai jas įkelkite į OSM (arba vėliau, jei neprisijungę) + "OsmAnd yra atviro kodo ir aktyviai plėtojama. Kiekvienas gali prisidėti prie plėtros pranešdamas apie klaidas, tobulindamas vertimus ar kurdamas naujas funkcijas. Projektas yra nuolat gerinamas sąveikaujant programuotojamas ir vartotojams. Projekto eiga taip pat priklauso nuo finansinių įnašų paremiant programavimą ir naujų funkcijų testavimą. Apytikslė žemėlapyje aprėptis ir kokybė: • Vakarų Europa: *** • Rytų Europa: *** • Rusija: *** • Šiaurės Amerika: *** • Pietų Amerika: ** • Azija: ** • Japonija ir Korėja: *** • Artimieji Rytai: ** • Afrika: ** • Antarktida: * Galima atsisiųsti didžiąją dalį šalių! Gaukite patikimą navigatorius jūsų šalyje - ar tai būtų Prancūzija, Vokietija, Meksika, Jungtinė Karalystė, Ispanija, Nyderlandai, JAV, Rusija, Brazilija ar kita." + Balso įj/išj + Balso išjungtas + Balsas įjungtas + Sukurti elementus + Bandykite dar kartą + Pridėti maršruto taškus diff --git a/OsmAnd/res/values-nl/strings.xml b/OsmAnd/res/values-nl/strings.xml index f7a2ce6617..4cd29c9b02 100644 --- a/OsmAnd/res/values-nl/strings.xml +++ b/OsmAnd/res/values-nl/strings.xml @@ -2881,4 +2881,17 @@ Van bijna alle landen is een kaart te downloaden: van Afghanistan tot Zimbabwe, Punt ervoor toevoegen Punt erna toevoegen Opties + Vandaag + Gisteren + Afgelopen 7 dagen + Dit jaar + Selecteer navigatieprofiel + Voeg minstens een punt toe. + GPX bestandsnaam: + Toon op kaart na opslaan + Meet afstand + Start/stop navigatie + Gemiddeld + %1$d van de %2$d + Probeer opnieuw diff --git a/OsmAnd/res/values-pl/phrases.xml b/OsmAnd/res/values-pl/phrases.xml index ab4505ccef..c41e9a41ad 100644 --- a/OsmAnd/res/values-pl/phrases.xml +++ b/OsmAnd/res/values-pl/phrases.xml @@ -3506,4 +3506,13 @@ Sieć +Archiwum + Ministerstwo + Placówka publiczna + Bezpieczeństwo socjalne + Usługi socjalne + Skarbiec + Instytucja transportowa + Instytucja ustawodawcza + diff --git a/OsmAnd/res/values-pl/strings.xml b/OsmAnd/res/values-pl/strings.xml index ba52304302..521d972a6f 100644 --- a/OsmAnd/res/values-pl/strings.xml +++ b/OsmAnd/res/values-pl/strings.xml @@ -2837,7 +2837,23 @@ Reprezentuje obszar: %1$s x %2$s Wyłącza animacje w programie Przenieś wszystkie do historii Oblicz trasę - Pokaż kierunek + Wskaźnik odległości Sortuj według Opcje znacznika + Wybierz w jaki sposób wskazywać odległość i kierunek do znaczników mapy na ekranie: + Zmiana orientacji mapy + Wybierz prędkość poniżej której orientacja mapy zmieni się z „według kierunku poruszania” na „według kompasu” + Wszystkie znaczniki mapy przeniesiono do historii + Znacznik mapy przeniesiono do historii + Znacznik mapy przeniesiono do aktywnych + Lista + Grupy + Minęło: %1$s + Uaktywnij + Dzisiaj + Wczoraj + Ostatnie 7 dni + Ten rok + Widżet + Belka górna diff --git a/OsmAnd/res/values-sc/phrases.xml b/OsmAnd/res/values-sc/phrases.xml index 1dc5b4ec84..5c9c768f0f 100644 --- a/OsmAnd/res/values-sc/phrases.xml +++ b/OsmAnd/res/values-sc/phrases.xml @@ -2672,4 +2672,6 @@ Retza +Istitutzione legislativa + diff --git a/OsmAnd/res/values-sc/strings.xml b/OsmAnd/res/values-sc/strings.xml index 3a412ac919..0f41cb009c 100644 --- a/OsmAnd/res/values-sc/strings.xml +++ b/OsmAnd/res/values-sc/strings.xml @@ -2765,4 +2765,16 @@ Pro praghere iscrie su còdighe intreu Ammustra sas indicatziones de diretzione Òrdina pro Optziones de sos marcadores + S\'orientamentu de sa mapa mudat cun sa lestresa + Imprea sa bussola integrata imbetzes de sa diretzione de su movimentu pro determinare s\'orientamentu de sa mapa a lestresas bassas + Totu sos marcadores postos in sa Cronologia + Marcadore postu in sa Cronologia + Marcadore postu in Ativos + Lista + Grupos + Oe + Eris + Ùrtimas 7 dies + Cust\'annu + Barra superiore diff --git a/OsmAnd/res/values-sk/strings.xml b/OsmAnd/res/values-sk/strings.xml index 199d151b92..f2bc4c5cb0 100644 --- a/OsmAnd/res/values-sk/strings.xml +++ b/OsmAnd/res/values-sk/strings.xml @@ -2862,4 +2862,19 @@ Zodpovedá oblasti: %1$s x %2$s Zobraziť smer Zotriediť podľa Možnosti značiek + Zmena orientácie mapy podľa rýchlosti + Pri nízkej rýchlosti použiť na zistenie orientácie mapy zabudovaný kompas namiesto smeru pohybu + Všetky značky presunuté do histórie + Značka presunutá do histórie + Značka presunutá do archívu + Zoznam + Skupiny + Prešli sme okolo: %1$s + Aktivovať + Dnes + Včera + Posledných 7 dní + Tento rok + Nástroj + Horná lišta diff --git a/OsmAnd/res/values-uk/phrases.xml b/OsmAnd/res/values-uk/phrases.xml index a5e6b63228..67c0ba630a 100644 --- a/OsmAnd/res/values-uk/phrases.xml +++ b/OsmAnd/res/values-uk/phrases.xml @@ -3476,4 +3476,13 @@ Мережа +Архів + Міністерство + Державна служба + Соціальний захист + Соціальні послуги + Казначейство + Транспортна установа + Законодавчі установи + diff --git a/OsmAnd/res/values-uk/strings.xml b/OsmAnd/res/values-uk/strings.xml index 7fe6f3392a..deccf3c2b3 100644 --- a/OsmAnd/res/values-uk/strings.xml +++ b/OsmAnd/res/values-uk/strings.xml @@ -1567,7 +1567,7 @@ Виберіть профілі, видимі в застосунку Профілі застосунку Візуалізація мапи - Піший туризм + Піші прогулянки Мотоцикл Човен Літак @@ -2994,9 +2994,23 @@ Вийти без збереження? Перемістити усе в історію Побудувати маршрут - Показати напрямок + Відображення відстані Сортувати за Параметри маркера Не застосовувати анімацію Відключення анімації в програмі + Вибрати як показувати відстань і напрямок до маркерів на екрані мапи: + Поріг орієнтації мапи + Виберіть нижче, на якій швидкості орієнтація мапи перемикається зі „за напрямком руху“ на „за компасом“ + Усі маркери перенесені в історію + Маркер мапи перенесений в історію + Маркер мапи став активним + Список + Групи + Пройшло: %1$s + Зробити активним + Сьогодні + Вчора + Останні 7 днів + Цього року diff --git a/OsmAnd/res/values-zh-rTW/strings.xml b/OsmAnd/res/values-zh-rTW/strings.xml index 778b37c842..6ee318461b 100644 --- a/OsmAnd/res/values-zh-rTW/strings.xml +++ b/OsmAnd/res/values-zh-rTW/strings.xml @@ -1207,7 +1207,7 @@ OsmAnd (Automated Navigation Directions) 是一個地圖和導航的應用程式 健行 機車 - 飛航 + 飛行器 地圖著色演算 在應用程式中選擇曾見過的設定檔 應用設定檔 @@ -2220,7 +2220,7 @@ OsmAnd (Automated Navigation Directions) 是一個地圖和導航的應用程式 啟動地圖標記功能 您想要移除所有的活動標記嗎? 您想清除地圖標記歷史記錄嗎? - 啟動標記 + 活動標記 地圖標記 地圖標記 您想要將所有的標點都加到地圖標記嗎? @@ -2254,7 +2254,7 @@ OsmAnd (Automated Navigation Directions) 是一個地圖和導航的應用程式 支援地區 每月費用 每月付款 - 有效的 + 活動 失效的 請輸入有效的電子郵件地址 請輸入公開名稱 @@ -2845,7 +2845,23 @@ OsmAnd (Automated Navigation Directions) 是一個地圖和導航的應用程式 停用在應用程式中的動畫 全部移動到歷程 建立路線 - 顯示方向 + 距離指示 排序方式 標記選項 + 地圖定位開端 + 所有的地圖標記已移到歷程記錄 + 地圖標記已移到歷程記錄 + 地圖標記已移到活動 + 清單 + 群組 + 已經過:%1$s + 進行活動 + 今天 + 昨天 + 最近 7 天 + 今年 + 小工具 + 頂欄 + 選擇如何在地圖畫面上指示距離和方向的地圖標記: + 選擇下方哪個速度的地圖方向從\'行動方向\'切換到\'羅盤\' diff --git a/OsmAnd/res/values/strings.xml b/OsmAnd/res/values/strings.xml index 6fb20954d8..034ca5acff 100644 --- a/OsmAnd/res/values/strings.xml +++ b/OsmAnd/res/values/strings.xml @@ -12,13 +12,14 @@ Remove from Map Markers Descendingly Ascendingly - Map orientation change in accordance with speed - Use built in compass instead of direction of movement to determine map orientation at low speed Date added Order by: - All markers moved to History - Marker moved to History - Marker moved to Active + Select how to indicate distance and direction to Map markers on the map screen: + Map orientation threshold + Select below which speed the map orientation switches from \'To direction of movement\' to \'To compass\' + All Map markers moved to history + Map marker moved to history + Map marker moved to active List Groups Passed: %1$s @@ -27,11 +28,11 @@ Yesterday Last 7 days This year - Widget - Top bar + + Move all to history Build route - Show direction + Distance indication Sort by Do not use animations Disables animations in the app @@ -446,7 +447,7 @@ Avoid road Currently selected Data storage folder is readonly. The storage folder was temporarily switched to Internal memory. Please choose valid storage directory. Shared memory - Topbar + Top bar Full report Recalculate route OpenStreetMap login and password diff --git a/OsmAnd/src/net/osmand/plus/poi/PoiUIFilter.java b/OsmAnd/src/net/osmand/plus/poi/PoiUIFilter.java index 58b53cb878..5e49704250 100644 --- a/OsmAnd/src/net/osmand/plus/poi/PoiUIFilter.java +++ b/OsmAnd/src/net/osmand/plus/poi/PoiUIFilter.java @@ -421,12 +421,20 @@ public class PoiUIFilter implements SearchPoiTypeFilter, Comparable @Override public ResultMatcher wrapResultMatcher(final ResultMatcher matcher) { final AmenityNameFilter nm = getNameFilter(filterByName); + final Set searchedPois = new TreeSet<>(); return new ResultMatcher() { @Override public boolean publish(Amenity a) { if (nm.accept(a)) { if (matcher == null || matcher.publish(a)) { + String poiID = a.getType().getKeyName() + "_" + a.getId(); + if (!searchedPois.add(poiID)) { + return false; + } + if (a.isClosed()) { + return false; + } return true; } } diff --git a/OsmAnd/src/net/osmand/plus/resources/ResourceManager.java b/OsmAnd/src/net/osmand/plus/resources/ResourceManager.java index 98255722b9..803945c8a7 100644 --- a/OsmAnd/src/net/osmand/plus/resources/ResourceManager.java +++ b/OsmAnd/src/net/osmand/plus/resources/ResourceManager.java @@ -60,6 +60,7 @@ import java.text.MessageFormat; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; +import java.util.Comparator; import java.util.Iterator; import java.util.LinkedHashMap; import java.util.List; @@ -715,7 +716,10 @@ public class ResourceManager { int left31 = MapUtils.get31TileNumberX(leftLongitude); int bottom31 = MapUtils.get31TileNumberY(bottomLatitude); int right31 = MapUtils.get31TileNumberX(rightLongitude); - for (AmenityIndexRepository index : amenityRepositories.values()) { + List fileNames = new ArrayList(amenityRepositories.keySet()); + Collections.sort(fileNames, Algorithms.getStringVersionComparator()); + for (String name : fileNames) { + AmenityIndexRepository index = amenityRepositories.get(name); if (matcher != null && matcher.isCancelled()) { searchAmenitiesInProgress = false; break; @@ -734,8 +738,8 @@ public class ResourceManager { } return amenities; } - - public List searchAmenitiesOnThePath(List locations, double radius, SearchPoiTypeFilter filter, + + public List searchAmenitiesOnThePath(List locations, double radius, SearchPoiTypeFilter filter, ResultMatcher matcher) { searchAmenitiesInProgress = true; final List amenities = new ArrayList();