diff --git a/OsmAnd/res/drawable-hdpi/ic_action_altitude_average_16.png b/OsmAnd/res/drawable-hdpi/ic_action_altitude_average_16.png new file mode 100644 index 0000000000..284b9b2253 Binary files /dev/null and b/OsmAnd/res/drawable-hdpi/ic_action_altitude_average_16.png differ diff --git a/OsmAnd/res/drawable-hdpi/ic_action_altitude_descent_ascent_16.png b/OsmAnd/res/drawable-hdpi/ic_action_altitude_descent_ascent_16.png new file mode 100644 index 0000000000..b254cc1baa Binary files /dev/null and b/OsmAnd/res/drawable-hdpi/ic_action_altitude_descent_ascent_16.png differ diff --git a/OsmAnd/res/drawable-hdpi/ic_action_altitude_range_16.png b/OsmAnd/res/drawable-hdpi/ic_action_altitude_range_16.png new file mode 100644 index 0000000000..145f9cb470 Binary files /dev/null and b/OsmAnd/res/drawable-hdpi/ic_action_altitude_range_16.png differ diff --git a/OsmAnd/res/drawable-hdpi/ic_action_max_speed_16.png b/OsmAnd/res/drawable-hdpi/ic_action_max_speed_16.png new file mode 100644 index 0000000000..f4b2d7f274 Binary files /dev/null and b/OsmAnd/res/drawable-hdpi/ic_action_max_speed_16.png differ diff --git a/OsmAnd/res/drawable-hdpi/ic_action_speed_16.png b/OsmAnd/res/drawable-hdpi/ic_action_speed_16.png new file mode 100644 index 0000000000..24a526f3e7 Binary files /dev/null and b/OsmAnd/res/drawable-hdpi/ic_action_speed_16.png differ diff --git a/OsmAnd/res/drawable-hdpi/ic_action_split_interval.png b/OsmAnd/res/drawable-hdpi/ic_action_split_interval.png new file mode 100644 index 0000000000..1065af2302 Binary files /dev/null and b/OsmAnd/res/drawable-hdpi/ic_action_split_interval.png differ diff --git a/OsmAnd/res/drawable-hdpi/ic_action_time_end_16.png b/OsmAnd/res/drawable-hdpi/ic_action_time_end_16.png new file mode 100644 index 0000000000..dce1706858 Binary files /dev/null and b/OsmAnd/res/drawable-hdpi/ic_action_time_end_16.png differ diff --git a/OsmAnd/res/drawable-hdpi/ic_action_time_moving_16.png b/OsmAnd/res/drawable-hdpi/ic_action_time_moving_16.png new file mode 100644 index 0000000000..2b8c535b78 Binary files /dev/null and b/OsmAnd/res/drawable-hdpi/ic_action_time_moving_16.png differ diff --git a/OsmAnd/res/drawable-hdpi/ic_action_time_span_16.png b/OsmAnd/res/drawable-hdpi/ic_action_time_span_16.png new file mode 100644 index 0000000000..0980488f9b Binary files /dev/null and b/OsmAnd/res/drawable-hdpi/ic_action_time_span_16.png differ diff --git a/OsmAnd/res/drawable-hdpi/ic_action_time_start_16.png b/OsmAnd/res/drawable-hdpi/ic_action_time_start_16.png new file mode 100644 index 0000000000..c732040eaa Binary files /dev/null and b/OsmAnd/res/drawable-hdpi/ic_action_time_start_16.png differ diff --git a/OsmAnd/res/drawable-hdpi/ic_action_track_16.png b/OsmAnd/res/drawable-hdpi/ic_action_track_16.png new file mode 100644 index 0000000000..3115a6582d Binary files /dev/null and b/OsmAnd/res/drawable-hdpi/ic_action_track_16.png differ diff --git a/OsmAnd/res/drawable-mdpi/ic_action_altitude_average_16.png b/OsmAnd/res/drawable-mdpi/ic_action_altitude_average_16.png new file mode 100644 index 0000000000..5e9b08d079 Binary files /dev/null and b/OsmAnd/res/drawable-mdpi/ic_action_altitude_average_16.png differ diff --git a/OsmAnd/res/drawable-mdpi/ic_action_altitude_descent_ascent_16.png b/OsmAnd/res/drawable-mdpi/ic_action_altitude_descent_ascent_16.png new file mode 100644 index 0000000000..e4c4cf98e0 Binary files /dev/null and b/OsmAnd/res/drawable-mdpi/ic_action_altitude_descent_ascent_16.png differ diff --git a/OsmAnd/res/drawable-mdpi/ic_action_altitude_range_16.png b/OsmAnd/res/drawable-mdpi/ic_action_altitude_range_16.png new file mode 100644 index 0000000000..e18fdeb165 Binary files /dev/null and b/OsmAnd/res/drawable-mdpi/ic_action_altitude_range_16.png differ diff --git a/OsmAnd/res/drawable-mdpi/ic_action_max_speed_16.png b/OsmAnd/res/drawable-mdpi/ic_action_max_speed_16.png new file mode 100644 index 0000000000..f8f950b7bc Binary files /dev/null and b/OsmAnd/res/drawable-mdpi/ic_action_max_speed_16.png differ diff --git a/OsmAnd/res/drawable-mdpi/ic_action_speed_16.png b/OsmAnd/res/drawable-mdpi/ic_action_speed_16.png new file mode 100644 index 0000000000..f2f961ecce Binary files /dev/null and b/OsmAnd/res/drawable-mdpi/ic_action_speed_16.png differ diff --git a/OsmAnd/res/drawable-mdpi/ic_action_split_interval.png b/OsmAnd/res/drawable-mdpi/ic_action_split_interval.png new file mode 100644 index 0000000000..960ce56840 Binary files /dev/null and b/OsmAnd/res/drawable-mdpi/ic_action_split_interval.png differ diff --git a/OsmAnd/res/drawable-mdpi/ic_action_time_end_16.png b/OsmAnd/res/drawable-mdpi/ic_action_time_end_16.png new file mode 100644 index 0000000000..6b752f1fc7 Binary files /dev/null and b/OsmAnd/res/drawable-mdpi/ic_action_time_end_16.png differ diff --git a/OsmAnd/res/drawable-mdpi/ic_action_time_moving_16.png b/OsmAnd/res/drawable-mdpi/ic_action_time_moving_16.png new file mode 100644 index 0000000000..1e45bcc8d3 Binary files /dev/null and b/OsmAnd/res/drawable-mdpi/ic_action_time_moving_16.png differ diff --git a/OsmAnd/res/drawable-mdpi/ic_action_time_span_16.png b/OsmAnd/res/drawable-mdpi/ic_action_time_span_16.png new file mode 100644 index 0000000000..0fa88b208d Binary files /dev/null and b/OsmAnd/res/drawable-mdpi/ic_action_time_span_16.png differ diff --git a/OsmAnd/res/drawable-mdpi/ic_action_time_start_16.png b/OsmAnd/res/drawable-mdpi/ic_action_time_start_16.png new file mode 100644 index 0000000000..320250a064 Binary files /dev/null and b/OsmAnd/res/drawable-mdpi/ic_action_time_start_16.png differ diff --git a/OsmAnd/res/drawable-mdpi/ic_action_track_16.png b/OsmAnd/res/drawable-mdpi/ic_action_track_16.png new file mode 100644 index 0000000000..bc089fd0c9 Binary files /dev/null and b/OsmAnd/res/drawable-mdpi/ic_action_track_16.png differ diff --git a/OsmAnd/res/drawable-xhdpi/ic_action_altitude_average_16.png b/OsmAnd/res/drawable-xhdpi/ic_action_altitude_average_16.png new file mode 100644 index 0000000000..894b938a01 Binary files /dev/null and b/OsmAnd/res/drawable-xhdpi/ic_action_altitude_average_16.png differ diff --git a/OsmAnd/res/drawable-xhdpi/ic_action_altitude_descent_ascent_16.png b/OsmAnd/res/drawable-xhdpi/ic_action_altitude_descent_ascent_16.png new file mode 100644 index 0000000000..8bfa93627f Binary files /dev/null and b/OsmAnd/res/drawable-xhdpi/ic_action_altitude_descent_ascent_16.png differ diff --git a/OsmAnd/res/drawable-xhdpi/ic_action_altitude_range_16.png b/OsmAnd/res/drawable-xhdpi/ic_action_altitude_range_16.png new file mode 100644 index 0000000000..85c234f07c Binary files /dev/null and b/OsmAnd/res/drawable-xhdpi/ic_action_altitude_range_16.png differ diff --git a/OsmAnd/res/drawable-xhdpi/ic_action_max_speed_16.png b/OsmAnd/res/drawable-xhdpi/ic_action_max_speed_16.png new file mode 100644 index 0000000000..a21ce70a5e Binary files /dev/null and b/OsmAnd/res/drawable-xhdpi/ic_action_max_speed_16.png differ diff --git a/OsmAnd/res/drawable-xhdpi/ic_action_speed_16.png b/OsmAnd/res/drawable-xhdpi/ic_action_speed_16.png new file mode 100644 index 0000000000..439828fa7c Binary files /dev/null and b/OsmAnd/res/drawable-xhdpi/ic_action_speed_16.png differ diff --git a/OsmAnd/res/drawable-xhdpi/ic_action_split_interval.png b/OsmAnd/res/drawable-xhdpi/ic_action_split_interval.png new file mode 100644 index 0000000000..0b2e728bd7 Binary files /dev/null and b/OsmAnd/res/drawable-xhdpi/ic_action_split_interval.png differ diff --git a/OsmAnd/res/drawable-xhdpi/ic_action_time_end_16.png b/OsmAnd/res/drawable-xhdpi/ic_action_time_end_16.png new file mode 100644 index 0000000000..778fe855ba Binary files /dev/null and b/OsmAnd/res/drawable-xhdpi/ic_action_time_end_16.png differ diff --git a/OsmAnd/res/drawable-xhdpi/ic_action_time_moving_16.png b/OsmAnd/res/drawable-xhdpi/ic_action_time_moving_16.png new file mode 100644 index 0000000000..8688e6ea54 Binary files /dev/null and b/OsmAnd/res/drawable-xhdpi/ic_action_time_moving_16.png differ diff --git a/OsmAnd/res/drawable-xhdpi/ic_action_time_span_16.png b/OsmAnd/res/drawable-xhdpi/ic_action_time_span_16.png new file mode 100644 index 0000000000..b96a872787 Binary files /dev/null and b/OsmAnd/res/drawable-xhdpi/ic_action_time_span_16.png differ diff --git a/OsmAnd/res/drawable-xhdpi/ic_action_time_start_16.png b/OsmAnd/res/drawable-xhdpi/ic_action_time_start_16.png new file mode 100644 index 0000000000..94db2e9119 Binary files /dev/null and b/OsmAnd/res/drawable-xhdpi/ic_action_time_start_16.png differ diff --git a/OsmAnd/res/drawable-xhdpi/ic_action_track_16.png b/OsmAnd/res/drawable-xhdpi/ic_action_track_16.png new file mode 100644 index 0000000000..44b29cf6c4 Binary files /dev/null and b/OsmAnd/res/drawable-xhdpi/ic_action_track_16.png differ diff --git a/OsmAnd/res/drawable-xxhdpi/ic_action_altitude_average_16.png b/OsmAnd/res/drawable-xxhdpi/ic_action_altitude_average_16.png new file mode 100644 index 0000000000..ba4762ae78 Binary files /dev/null and b/OsmAnd/res/drawable-xxhdpi/ic_action_altitude_average_16.png differ diff --git a/OsmAnd/res/drawable-xxhdpi/ic_action_altitude_descent_ascent_16.png b/OsmAnd/res/drawable-xxhdpi/ic_action_altitude_descent_ascent_16.png new file mode 100644 index 0000000000..9794eaa461 Binary files /dev/null and b/OsmAnd/res/drawable-xxhdpi/ic_action_altitude_descent_ascent_16.png differ diff --git a/OsmAnd/res/drawable-xxhdpi/ic_action_altitude_range_16.png b/OsmAnd/res/drawable-xxhdpi/ic_action_altitude_range_16.png new file mode 100644 index 0000000000..f3f1295972 Binary files /dev/null and b/OsmAnd/res/drawable-xxhdpi/ic_action_altitude_range_16.png differ diff --git a/OsmAnd/res/drawable-xxhdpi/ic_action_max_speed_16.png b/OsmAnd/res/drawable-xxhdpi/ic_action_max_speed_16.png new file mode 100644 index 0000000000..33d0a54786 Binary files /dev/null and b/OsmAnd/res/drawable-xxhdpi/ic_action_max_speed_16.png differ diff --git a/OsmAnd/res/drawable-xxhdpi/ic_action_speed_16.png b/OsmAnd/res/drawable-xxhdpi/ic_action_speed_16.png new file mode 100644 index 0000000000..6c6671d2ac Binary files /dev/null and b/OsmAnd/res/drawable-xxhdpi/ic_action_speed_16.png differ diff --git a/OsmAnd/res/drawable-xxhdpi/ic_action_split_interval.png b/OsmAnd/res/drawable-xxhdpi/ic_action_split_interval.png new file mode 100644 index 0000000000..36a2746ce1 Binary files /dev/null and b/OsmAnd/res/drawable-xxhdpi/ic_action_split_interval.png differ diff --git a/OsmAnd/res/drawable-xxhdpi/ic_action_time_end_16.png b/OsmAnd/res/drawable-xxhdpi/ic_action_time_end_16.png new file mode 100644 index 0000000000..4f0c4eeda7 Binary files /dev/null and b/OsmAnd/res/drawable-xxhdpi/ic_action_time_end_16.png differ diff --git a/OsmAnd/res/drawable-xxhdpi/ic_action_time_moving_16.png b/OsmAnd/res/drawable-xxhdpi/ic_action_time_moving_16.png new file mode 100644 index 0000000000..cdb92625bf Binary files /dev/null and b/OsmAnd/res/drawable-xxhdpi/ic_action_time_moving_16.png differ diff --git a/OsmAnd/res/drawable-xxhdpi/ic_action_time_span_16.png b/OsmAnd/res/drawable-xxhdpi/ic_action_time_span_16.png new file mode 100644 index 0000000000..bde52b337d Binary files /dev/null and b/OsmAnd/res/drawable-xxhdpi/ic_action_time_span_16.png differ diff --git a/OsmAnd/res/drawable-xxhdpi/ic_action_time_start_16.png b/OsmAnd/res/drawable-xxhdpi/ic_action_time_start_16.png new file mode 100644 index 0000000000..06e797778e Binary files /dev/null and b/OsmAnd/res/drawable-xxhdpi/ic_action_time_start_16.png differ diff --git a/OsmAnd/res/drawable-xxhdpi/ic_action_track_16.png b/OsmAnd/res/drawable-xxhdpi/ic_action_track_16.png new file mode 100644 index 0000000000..62e745ead4 Binary files /dev/null and b/OsmAnd/res/drawable-xxhdpi/ic_action_track_16.png differ diff --git a/OsmAnd/res/values-be-rBY/strings.xml b/OsmAnd/res/values-be-rBY/strings.xml index 10b0f1beff..ecfe318365 100644 --- a/OsmAnd/res/values-be-rBY/strings.xml +++ b/OsmAnd/res/values-be-rBY/strings.xml @@ -2923,4 +2923,5 @@ Moduli: Abnavić Abnavić frahmienty, kab ubačyć aktuaĺnyja danyja. Keš frahmientaŭ + Skinuć diff --git a/OsmAnd/res/values-be/strings.xml b/OsmAnd/res/values-be/strings.xml index 0ac21fd9c8..ba4fc79f8f 100644 --- a/OsmAnd/res/values-be/strings.xml +++ b/OsmAnd/res/values-be/strings.xml @@ -2972,4 +2972,5 @@ OsmAnd мае адкрыты зыходны код і актыўна разві Абнавіць Абнавіць фрагменты, каб убачыць актуальныя даныя. Кэш фрагментаў + Скінуць diff --git a/OsmAnd/res/values-ca/strings.xml b/OsmAnd/res/values-ca/strings.xml index 5ef581de01..131c46def8 100644 --- a/OsmAnd/res/values-ca/strings.xml +++ b/OsmAnd/res/values-ca/strings.xml @@ -1685,15 +1685,17 @@ Afganistan, Albània, Alemanya, Antilles Holandeses, Algèria, Andorra, Angola, Segments de traça Punts de traça Vista turística del mapa - "En activar el canvi en l\'estil de la vista del mapa de l\'OsmAnd a «Vista turística del mapa», es mostra una vista especial de gran detall per viatgers i conductors professionals. + En activar el canvi en l\'estil del mapa de l\'OsmAnd a «Vista de viatge», es mostra una vista especial de gran detall per viatgers i conductors professionals. +\n +\nAquesta vista proporciona, a qualsevol nivell de zoom del mapa, el màxim detall disponible a les dades del mapa per viatjar (particularment carreteres, pistes, camins i senyals d\'orientació). +\n +\nTambé es discrimina amb nitidesa tots els tipus de carreteres pel codi de colors, la qual cosa és molt útil, per exemple, conduint vehicles pesats. \n -\nAquesta vista proporciona, per a qualsevol nivell de zoom al mapa, la quantitat màxima de detalls de viatge disponibles a les dades del mapa (particularment carreteres, pistes, camins i senyals d\'orientació). -\n -\nTambé es discrimina amb nitidesa tots els tipus de carreteres pel codi de colors, la qual cosa és molt útil, per exemple, conduint vehicles pesats. -\n -\nNo cal baixar un mapa específic, aquesta vista es crea amb els nostres mapes estàndards. -\n -\nAquesta vista es pot desfer tornant a fer la mateixa selecció, o en canviar l\'«Estil del mapa» de «Configuració del mapa» a la vista que es desitgi. " +\nI ofereix opcions de viatge concretes com representar les rutes ciclistes o d\'alpinisme a la muntanya. +\n +\nNo cal baixar un mapa específic, aquesta vista es crea amb els nostres mapes estàndards. +\n +\nAquesta vista es pot desfer tornant a fer la mateixa selecció, o en canviar l\'«Estil del mapa» de «Configuració del mapa» a la vista que es desitgi. 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? diff --git a/OsmAnd/res/values-da/strings.xml b/OsmAnd/res/values-da/strings.xml index 89e355315c..937b7955f2 100644 --- a/OsmAnd/res/values-da/strings.xml +++ b/OsmAnd/res/values-da/strings.xml @@ -2969,4 +2969,5 @@ Tidligere destination bliver sidste mellemliggende punkt. Genindlæs Genindlæs kortbrikker for at se opdaterede data. Kortbrik-cache + Nulstil diff --git a/OsmAnd/res/values-eo/strings.xml b/OsmAnd/res/values-eo/strings.xml index 3c75c469ee..12df8a4401 100644 --- a/OsmAnd/res/values-eo/strings.xml +++ b/OsmAnd/res/values-eo/strings.xml @@ -2848,4 +2848,5 @@ Indikas lokon: %1$s x %2$s" Vidi bildojn aldonitajn de iu uzanto. Uzantnomo Vi povas filtri bildojn laŭ alŝutinto aŭ laŭ dato. Filtriloj aplikiĝas nur je pligrandigo. + Reagordi diff --git a/OsmAnd/res/values-es-rAR/strings.xml b/OsmAnd/res/values-es-rAR/strings.xml index c44a3f9b3b..e63330aa25 100644 --- a/OsmAnd/res/values-es-rAR/strings.xml +++ b/OsmAnd/res/values-es-rAR/strings.xml @@ -2821,7 +2821,7 @@ Representa el área: %1$s x %2$s Buscar favoritos Reiniciar búsqueda Aumentar radio de búsqueda - Nada encontrado :( + ¡Nada por aquí! 😞 Modifica la consulta de búsqueda o aumenta el radio de búsqueda El destino se ubica en un área de acceso privado. ¿Quieres acceder en este viaje a los caminos privados? Mapillary @@ -2857,4 +2857,5 @@ Representa el área: %1$s x %2$s Recargar Recarga las teselas para ver la información actualizada. Caché de teselas + Restablecer diff --git a/OsmAnd/res/values-is/phrases.xml b/OsmAnd/res/values-is/phrases.xml index e0ac556ff8..f6b7e412e1 100644 --- a/OsmAnd/res/values-is/phrases.xml +++ b/OsmAnd/res/values-is/phrases.xml @@ -132,7 +132,7 @@ Smálest Skólaföt Skýli - Óvirkt + Fatlaðir Borg Lækur Opinbert @@ -1519,7 +1519,7 @@ Skuggaleikhús Hljómsveitarpallur - Menning: byzantínsk (285 e.Kr. – 1453 e.Kr.) + Menning: býsantínsk (285 e.Kr. – 1453 e.Kr.) Menning: mýkenönsk Dýraþjálfun Sögutími: steinöld / bronsöld (óráðið) @@ -2447,4 +2447,125 @@ Kort yfir almenningssamgöngur Drykkir og sælgæti Krosslaga + Útibú + + Staur + Koshinto + Blár skjöldur + Jizo + Götusteinn + Stupa + Prasat + Veggskreyting + + Söguleg grjótnáma + + Malarblanda + Antímon + Berýl + Krómít + Byggingasteinn + Brúnkol + Glimmer + Steinefnaolía + Mór + Títansandur + Steinþynnur;járngrýti;kopar + Þynnur + Zirkon + + Engi + Möl + Klettótt + + Skorsteinn + Án bekkja + Með ruslafötu + Án ruslafötu + + Nestisaðstaða + Setskýli + Einfaldur kofi + Dýraskoðunarskýli + Skýli í klettaskúta + Skýli fyrir búpening + Gerð skýlis: tjald + Gerð skýlis: yfirgefið + + Tegund listaverks: staur + Byggingastíll: konstrúktívismi + Byggingastíll: bindingsverk + Byggingastíll: fornrússneskur + Byggingastíll: póstkonstrúktívismi + Vatnsgöng + Vegagöng + Göng fyrir fótgangandi + Vegabrú + Bátabrú + Upplýst: já + Upplýst: nei + + Yfirborð: steinlagt + Yfirborð: götusteinar + Yfirborð: hellusteinar + Yfirborð: grassteinar + Yfirborð: jarðvegur + Yfirborð: mold + Sala á notuðum reiðhjólum + Sala á notuðum reiðhjólum: nei + Stöð til að gera sjálf við reiðhjól + + Athugasemd + Módelflugsvæði + Sögulegur kílómetrasteinn + + Sögulegur herragarður + Tegund kastala: bústaður + Tegund kastala: varnarvirki + Tegund kastala: virki + Tegund kastala: höll + Tegund kastala: rússneskur (kreml) + Tegund kastala: varnarvirki, bústaður + Tegund kastala: rómverskur (castrum) + Tegund kastala: japanskur (shiro) + + Sambýli + Búseta með stuðningi + Útbreiðsla + Matarbanki + Heimahlynning + Aldraðir + Börn + Munaðarleysingjar + Sjúklingar með geðrænar truflanir + Ungmenni + Heimilislausir + Farandfólk + Bágstaddir + Eiturlyfjafíklar + Atvinnulausir + Sjúkir + Börn: ungmenni + + Menning: núrísk (18. öld f. Kr – 2. öld e.Kr.) + Menning: kínverska keisaraveldið (221 f. Kr – 1911 e. Kr) + Menning: grísk-egypsk (332-30 f.Kr) + Menning: rómversk- og býsantísk-egypsk + Sögutími: núrískur + Bátageymsla + + Almennar heimilislækningar + Augnlækningar + Barnalækningar + Húðlækningar + Þvagfæralækningar + Almennar skurðlækningar + Geislalækninar + Geðlækningar + Taugalækningar + Hjartalækningar + Áfallalækningar + Svæfingalækningar + Tannlækningar + Reiki diff --git a/OsmAnd/res/values-is/strings.xml b/OsmAnd/res/values-is/strings.xml index 92430be7e1..77257efbe6 100644 --- a/OsmAnd/res/values-is/strings.xml +++ b/OsmAnd/res/values-is/strings.xml @@ -1433,7 +1433,7 @@ og leiðsögn Veldu á milli staðarheita og enskra heita Veldu uppruna nettengdra korta eða kortatígla í biðminni Lágmarkshraði skráningar - Hreyfiskynjun skráningar + Skráning minnstu hreyfingar Lágmarksnákvæmni skráningar Jólastaðir Settu inn borg, heimilisfang, merkisstað @@ -2222,4 +2222,16 @@ Stendur fyrir svæði: %1$s x %2$s Leiðrétt fjarlægð Bæta ljósmyndaþekju með Mapillary Fela í aðdráttarstigi + Endurnýja + Endurlesa kortaflísar til að sjá uppfærð gögn. + Tiglaskyndiminni + Rangt notandanafn! + Til + Frá + Skoða myndir sem bætt hefur verið inn á tilteknu tímabili. + Dagsetningar + Settu inn nafn á notanda + Skoða myndir sem tiltekinn notandi hefur bætt við. + Notandanafn + Þú getur síað myndir eftir sendanda eða dagsetningu. Síum er aðeins beitt í miklum aðdrætti. diff --git a/OsmAnd/res/values-uk/phrases.xml b/OsmAnd/res/values-uk/phrases.xml index 12d6ddb7be..481c7030e7 100644 --- a/OsmAnd/res/values-uk/phrases.xml +++ b/OsmAnd/res/values-uk/phrases.xml @@ -1610,7 +1610,7 @@ Історичний період: перший перехідний період (2181 - 2055 р. до н.е.) Для просунутих Історичний період: другий перехідний період (1650 - 1550 р. до н.е.) - "Історичний період: третій перехідний період (1069 - 664 до н.е.) " + Історичний період: третій перехідний період (1069 – 664 до н.е.) Для новачків Експерт Історичний період: перший перський період @@ -2567,7 +2567,7 @@ Мінімальний вік Брассери (стейк і чіпси) - "ПРО100 " + ПРО100 Пакети для екскрементів тварин Заболочений луг Тип: нафтова промисловість diff --git a/OsmAnd/res/values-uk/strings.xml b/OsmAnd/res/values-uk/strings.xml index 970da1b164..071a0b868a 100644 --- a/OsmAnd/res/values-uk/strings.xml +++ b/OsmAnd/res/values-uk/strings.xml @@ -73,7 +73,7 @@ Видимість Теги Опис - Будь ласка, вкажіть ім’я користувача і пароль в OSM для завантаження GPX файлів в OSM. + Будь ласка, вкажіть ім’я користувача і пароль в OSM для вивантаження GPX-файлів в OSM. Підтримка Підтримати розробку нових функцій Відображати масштаб @@ -136,12 +136,12 @@ Оффлайн редагування Завжди використовувати оффлайн редагування Змінення POI в застосунку не впливають на POI завантажені з інтернету, всі зміни записуються в локальний файл. - Завантаження … - {0} POI/Нотатки завантажено в OpenStreetMap - Завантажити все + Вивантаження … + {0} POI/нотатки вивантажено у OpenStreetMap + Вивантажити усе - Завантажити зміни в OSM + Вивантажити зміни в OSM Вилучити створені Асинхронне редагування OSM: Локально збережені POI/Нотатки @@ -259,8 +259,8 @@ Файл з таким ім’ям вже існує. Зберегти - Відіслати GPX файли на OSM сервер. Вони будуть використані для покращення мап і завантажені на osm.org. - %1$d з %2$d об’єктів успішно завантажено. + Вивантажити GPX-файли на сервер OSM. Вони будуть використані для покращення мап. + %1$d з %2$d об’єктів успішно вивантажено. Відправити в OSM Показати більше деталей Відображати деталі (дороги та інше) починаючи з малого масштабу @@ -606,8 +606,8 @@ Закладки Очистити все Історія - Завантаження даних… - Завантаження… + Вивантаження даних… + Вивантаження… Нічого не знайдено Пошук… Пошук адреси… @@ -1593,10 +1593,10 @@ OsmAnd має відкриті сирці і активно розвиваєть Інформація для відлагодження Налаштування параметрів моніторингу та встановлення персонального каналу моніторингу OsMo - Цей втулок частково надає можливості OpenStreetMap Monitoring, дивіться https://osmo.mobi -\n -\nВи можете відстежувати пристрої учасників з вашої групи в поточному часі. Також, ви можете бачити точки та треки завантажені в групу, до якої ви належите. -\n + Цей втулок частково надає можливості OpenStreetMap Monitoring, дивіться https://osmo.mobi +\n +\nВи можете відстежувати пристрої учасників з вашої групи в поточному часі. Також, ви можете бачити точки та треки вивантажені в групу, до якої ви належите. +\n \nГрупи, що не були вилучені впродовж місяців, повинні привести свій стан у відповідність до груп створених на сайті OsMo.mobi OpenStreetMap моніторинг Показувати положення завжди в центрі @@ -1974,7 +1974,7 @@ OsmAnd має відкриті сирці і активно розвиваєть Повернутись до мапи Координати:↵\n Шир %1$s↵\n Дов %2$s Дата випуску - Ви збираєтесь надіслати %1$d змін до OSM. Ви впевнені? + Ви збираєтесь вивантажити %1$d змін до OSM. Ви впевнені? Бажаєте очистити історію? Вкажіть час очікування для перебування на екрані планування маршруту Відкрито @@ -2214,7 +2214,7 @@ OsmAnd має відкриті сирці і активно розвиваєть Оцінити цей додаток Будь ласка, дайте оцінку OsmAnd на Google Play Розкажіть нам, чому. - Не вдалося завантажити + Не вдалося вивантажити Видалити зміни Успішно вивантажено {0}/{1} Спробуйте ще раз @@ -2312,7 +2312,7 @@ OsmAnd має відкриті сирці і активно розвиваєть Виберіть або завантажте голосові вказівки для вашої мови Виберіть дороги, яких ви бажаєте уникати під час навігації Звук - POI буде видалено після того, як ви завантажите ваші зміни + POI буде вилучено після того, як ви вивантажите ваші зміни Ви впевнені, що бажаєте завантажити мапу з дорогами, хоча ви вже маєете стандартну (повну) мапу? Додаток не має дозволу для запису на SD-карту Останнє оновлення: %s @@ -2535,8 +2535,8 @@ Facebook: https://www.facebook.com/osmandapp Частина від передплати спрямовується до спільноти OSM та виплачується кожному маперу за його внесок. Якщо вам подобається OsmAnd та OSM, ви можете у такий спосіб підтримати їх. - Ви можете додати Нотатку в OSM анонімно, або скориставшись вашим обліковим записом на OpenStreetMap.org. - Надіслати Нотатку OSM + Ви можете додати нотатку в OSM анонімно, або скориставшись вашим обліковим записом на OpenStreetMap.org. + Надіслати нотатку в OSM Назва файлу містить неприпустимі символи Слідуйте за нами Звукова ідентифікація напрямку @@ -2604,7 +2604,7 @@ Facebook: https://www.facebook.com/osmandapp Колірна схема горизонталей Мінімальна швидкість для запису Виберіть мінімальну швидкість, при перевищенні якої точка буде записана в трек - Мінімальна дистанція для запису + Мінімальне зміщення для запису Виберіть відстань, при перевищенні якого точка буде записана в трек Мінімальна точність запису Виберіть мінімально допустиму точність для точки, щоб бути зажурнальованою @@ -3095,4 +3095,16 @@ Facebook: https://www.facebook.com/osmandapp OsmAnd не може імпортувати файл. Будь ласка, перевірте, чи OsmAnd має дозвіл на читання файлу з його місця розташування. Двоточкова лінійка Радіусна лінійка + Перезавантажити + Перезавантажити тайли, щоб переглянути актуальні дані. + Тайловий кеш + Невірне ім\'я користувача! + до + від + Переглядайте зображення, додані за певний період. + Дати + Введіть ім\'я користувача + Переглянути зображення, додані певним користувачем. + Ім\'я користувача + Ви можете відфільтрувати зображення за подавачем чи за датою. Фільтри застосовуються лише для масштабування крупним планом. diff --git a/OsmAnd/res/values-zh-rTW/phrases.xml b/OsmAnd/res/values-zh-rTW/phrases.xml index c7c2a44639..e749d1eb61 100644 --- a/OsmAnd/res/values-zh-rTW/phrases.xml +++ b/OsmAnd/res/values-zh-rTW/phrases.xml @@ -3266,4 +3266,119 @@ 希臘旋轉烤肉 拉丁餡餅 可麗餅 + 烤肉 + 泰式火鍋 + 烏龍麵 + 啤酒店 + 珍珠奶茶 + 日式烤雞肉串 + 蘋果酒 + 肉類食物 + 雞翅膀 + 格子鬆餅 + 巧克力 + 葡萄酒 + 馬鈴薯 + 早午餐 + 潛艇三明治 + 口袋餅 + 葡式蛋塔 + 墨西哥捲餅 + 照燒 + 沙威瑪 + + 區域性的 + 意大利料理 + 中式料理 + 墨西哥料理 + 日本料理 + 德國料理 + 印度料理 + 美式料理 + 亞洲料理 + 法式料理 + 希臘料理 + 泰式料理 + 多國式料理 + 土耳其料理 + 西班牙料理 + 越南料理 + 韓國料理 + 地中海料理 + 巴伐利亞料理 + 黎巴嫩料理 + 俄式料理 + 菲律賓料理 + 葡萄牙料理 + 喬治亞料理 + 波蘭料理 + 巴西料理 + 阿拉伯料理 + 丹麥料理 + 印尼料理 + 非洲料理 + 加勒比海料理 + 阿根廷料理 + 巴爾幹料理 + 秘魯料理 + 克羅埃西亞料理 + 玻利維亞料理 + 馬拉加斯料理 + 波斯料理 + 摩洛哥料理 + 奧地利料理 + 馬來西亞料理 + 愛爾蘭料理 + 餐酒吧 + 衣索比亞料理 + 匈牙利料理 + 寮國料理 + 歐洲料理 + 烏玆別克料理 + 捷克料理 + 古巴料理 + 英國料理 + 拉丁美洲料理 + 尼泊爾料理 + 蒙古料理 + 中東料理 + 烏克蘭料理 + 阿富汗料理 + 比利時料理 + 巴斯克料理 + 瑞士料理 + 廣式料理 + 瑞典料理 + 牙買加料理 + 亞美尼亞料理 + 夏威夷料理 + 巴基斯坦料理 + 臺灣料理 + 英格蘭料理 + 德-墨料理 + 荷蘭料理 + 敘利亞料理 + 澳洲料理 + 卡郡料理 + 埃及料理 + 塞內加爾料理 + 猶太料理 + 保加利亞料理 + 西藏料理 + + 派對用品 + 電器產品店 + 鎖匠店 + 照明燈具 + 樂透彩票 + 賭博場地 + + 樂透 + 小鋼珠 + 吃角子老虎 + 投注 + 賓果 + + 鐵路機車 + diff --git a/OsmAnd/res/values-zh-rTW/strings.xml b/OsmAnd/res/values-zh-rTW/strings.xml index 99d86cef9f..cf6cb87799 100644 --- a/OsmAnd/res/values-zh-rTW/strings.xml +++ b/OsmAnd/res/values-zh-rTW/strings.xml @@ -2882,4 +2882,5 @@ Facebook:https://www.facebook.com/osmandapp 重新載入 請重新載入圖磚,以查看最新的資料。 圖磚快取 + 重置 diff --git a/OsmAnd/src/net/osmand/plus/activities/MapActivity.java b/OsmAnd/src/net/osmand/plus/activities/MapActivity.java index 928301e577..c7e21e618a 100644 --- a/OsmAnd/src/net/osmand/plus/activities/MapActivity.java +++ b/OsmAnd/src/net/osmand/plus/activities/MapActivity.java @@ -47,6 +47,7 @@ import net.osmand.core.android.AtlasMapRendererView; import net.osmand.data.LatLon; import net.osmand.data.PointDescription; import net.osmand.data.QuadPoint; +import net.osmand.data.QuadRect; import net.osmand.data.RotatedTileBox; import net.osmand.map.MapTileDownloader.DownloadRequest; import net.osmand.map.MapTileDownloader.IMapDownloaderCallback; @@ -187,8 +188,6 @@ public class MapActivity extends OsmandActionBarActivity implements DownloadEven private boolean mIsDestroyed = false; private InAppHelper inAppHelper; - private DrawerLayout.DrawerListener drawerListener; - @Override public void onCreate(Bundle savedInstanceState) { long tm = System.currentTimeMillis(); @@ -290,30 +289,6 @@ public class MapActivity extends OsmandActionBarActivity implements DownloadEven mapActions.updateDrawerMenu(); drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); - drawerListener = new DrawerLayout.DrawerListener() { - @Override - public void onDrawerSlide(View drawerView, float slideOffset) { - mapView.setMultiTouch(false); - mapView.setMultiTouchEndTime(0); - mapView.getLayerByClass(RulerControlLayer.class).refreshMapDelayed(); - } - - @Override - public void onDrawerOpened(View drawerView) { - - } - - @Override - public void onDrawerClosed(View drawerView) { - - } - - @Override - public void onDrawerStateChanged(int newState) { - - } - }; - drawerLayout.addDrawerListener(drawerListener); IntentFilter filter = new IntentFilter(Intent.ACTION_SCREEN_OFF); screenOffReceiver = new ScreenOffReceiver(); @@ -868,6 +843,9 @@ public class MapActivity extends OsmandActionBarActivity implements DownloadEven mapContextMenu.showMinimized(latLonToShow, mapLabelToShow, toShow); mapLayers.getMapControlsLayer().getMapRouteInfoMenu().updateMenu(); MapRouteInfoMenu.showLocationOnMap(this, latLonToShow.getLatitude(), latLonToShow.getLongitude()); + } else if (toShow instanceof QuadRect) { + QuadRect qr = (QuadRect) toShow; + mapView.fitRectToMap(qr.left, qr.right, qr.top, qr.bottom, (int) qr.width(), (int) qr.height(), 0); } else { mapContextMenu.show(latLonToShow, mapLabelToShow, toShow); } @@ -1005,9 +983,6 @@ public class MapActivity extends OsmandActionBarActivity implements DownloadEven if (inAppHelper != null) { inAppHelper.stop(); } - if (drawerLayout != null) { - drawerLayout.removeDrawerListener(drawerListener); - } mIsDestroyed = true; } diff --git a/OsmAnd/src/net/osmand/plus/myplaces/TrackSegmentFragment.java b/OsmAnd/src/net/osmand/plus/myplaces/TrackSegmentFragment.java index 3247ad19d6..2f98dbec89 100644 --- a/OsmAnd/src/net/osmand/plus/myplaces/TrackSegmentFragment.java +++ b/OsmAnd/src/net/osmand/plus/myplaces/TrackSegmentFragment.java @@ -274,18 +274,23 @@ public class TrackSegmentFragment extends OsmAndListFragment { } private void updateHeader() { - headerView.setOnClickListener(new View.OnClickListener() { + imageView = (ImageView) headerView.findViewById(R.id.imageView); + imageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - LatLon location = new LatLon(generalDisplayItem.locationStart.lat, generalDisplayItem.locationStart.lon); + LatLon location = new LatLon(generalDisplayItem.locationStart.lat, + generalDisplayItem.locationStart.lon); final OsmandSettings settings = app.getSettings(); settings.setMapLocationToShow(location.getLatitude(), location.getLongitude(), - settings.getLastKnownMapZoom()); + settings.getLastKnownMapZoom(), + new PointDescription(PointDescription.POINT_TYPE_WPT, generalDisplayItem.name), + false, + getRect() + ); MapActivity.launchMapActivityMoveToTop(getActivity()); } }); - imageView = (ImageView) headerView.findViewById(R.id.imageView); final View splitColorView = headerView.findViewById(R.id.split_color_view); final View divider = headerView.findViewById(R.id.divider); final View splitIntervalView = headerView.findViewById(R.id.split_interval_view); diff --git a/OsmAnd/src/net/osmand/plus/views/MultiTouchSupport.java b/OsmAnd/src/net/osmand/plus/views/MultiTouchSupport.java index 43fec23941..166d3f04ee 100644 --- a/OsmAnd/src/net/osmand/plus/views/MultiTouchSupport.java +++ b/OsmAnd/src/net/osmand/plus/views/MultiTouchSupport.java @@ -33,9 +33,9 @@ public class MultiTouchSupport { public void onGestureInit(float x1, float y1, float x2, float y2); - public void onActionPointerDownOrMove(float x1, float y1, float x2, float y2); - public void onActionPointerUp(); + + public void onActionCancel(); } private boolean multiTouchAPISupported = false; @@ -86,6 +86,9 @@ public class MultiTouchSupport { } int actionCode = event.getAction() & ACTION_MASK; try { + if (actionCode == MotionEvent.ACTION_CANCEL) { + listener.onActionCancel(); + } Integer pointCount = (Integer) getPointerCount.invoke(event); if(pointCount < 2){ if(inZoomMode){ @@ -106,9 +109,7 @@ public class MultiTouchSupport { angleDefined = true; angle = (float) (Math.atan2(y2 - y1, x2 -x1) * 180 / Math.PI); } - if (actionCode == MotionEvent.ACTION_DOWN || actionCode == MotionEvent.ACTION_MOVE) { - listener.onActionPointerDownOrMove(x1, y1, x2, y2); - } else if (actionCode == MotionEvent.ACTION_UP || actionCode == MotionEvent.ACTION_POINTER_UP) { + if (actionCode == MotionEvent.ACTION_UP || actionCode == MotionEvent.ACTION_POINTER_UP) { listener.onActionPointerUp(); } if (actionCode == ACTION_POINTER_DOWN) { diff --git a/OsmAnd/src/net/osmand/plus/views/OsmandMapTileView.java b/OsmAnd/src/net/osmand/plus/views/OsmandMapTileView.java index cb5df2bf7b..0f670da124 100644 --- a/OsmAnd/src/net/osmand/plus/views/OsmandMapTileView.java +++ b/OsmAnd/src/net/osmand/plus/views/OsmandMapTileView.java @@ -161,12 +161,11 @@ public class OsmandMapTileView implements IMapDownloaderCallback { private boolean afterDoubleTap = false; private boolean wasMapLinkedBeforeGesture = false; - private float firstTouchPointX; - private float firstTouchPointY; - private float secondTouchPointX; - private float secondTouchPointY; + private LatLon firstTouchPointLatLon; + private LatLon secondTouchPointLatLon; private boolean multiTouch; private long multiTouchEndTime; + private boolean wasZoomInMultiTouch; public OsmandMapTileView(MapActivity activity, int w, int h) { this.activity = activity; @@ -312,36 +311,28 @@ public class OsmandMapTileView implements IMapDownloaderCallback { } // ///////////////////////// NON UI PART (could be extracted in common) ///////////////////////////// - public float getFirstTouchPointX() { - return firstTouchPointX; + public LatLon getFirstTouchPointLatLon() { + return firstTouchPointLatLon; } - public float getFirstTouchPointY() { - return firstTouchPointY; - } - - public float getSecondTouchPointX() { - return secondTouchPointX; - } - - public float getSecondTouchPointY() { - return secondTouchPointY; + public LatLon getSecondTouchPointLatLon() { + return secondTouchPointLatLon; } public boolean isMultiTouch() { return multiTouch; } - public void setMultiTouch(boolean multiTouch) { - this.multiTouch = multiTouch; - } - public long getMultiTouchEndTime() { return multiTouchEndTime; } - public void setMultiTouchEndTime(long multiTouchEndTime) { - this.multiTouchEndTime = multiTouchEndTime; + public boolean isWasZoomInMultiTouch() { + return wasZoomInMultiTouch; + } + + public void setWasZoomInMultiTouch(boolean wasZoomInMultiTouch) { + this.wasZoomInMultiTouch = wasZoomInMultiTouch; } public void setIntZoom(int zoom) { @@ -999,8 +990,6 @@ public class OsmandMapTileView implements IMapDownloaderCallback { private LatLon initialCenterLatLon; private boolean startRotating = false; private static final float ANGLE_THRESHOLD = 30; - private int cacheIntZoom = getZoom(); - private double cacheFractionalZoom = getZoomFractionalPart(); @Override public void onZoomOrRotationEnded(double relativeToStart, float angleRelative) { @@ -1049,35 +1038,29 @@ public class OsmandMapTileView implements IMapDownloaderCallback { this.x2 = x2; this.y2 = y2; if (x1 != x2 || y1 != y2) { - firstTouchPointX = x1; - firstTouchPointY = y1; - secondTouchPointX = x2; - secondTouchPointY = y2; + firstTouchPointLatLon = currentViewport.getLatLonFromPixel(x1, y1); + secondTouchPointLatLon = currentViewport.getLatLonFromPixel(x2, y2); multiTouch = true; + wasZoomInMultiTouch = false; } } - @Override - public void onActionPointerDownOrMove(float x1, float y1, float x2, float y2) { - firstTouchPointX = x1; - firstTouchPointY = y1; - secondTouchPointX = x2; - secondTouchPointY = y2; - multiTouch = true; - } - @Override public void onActionPointerUp() { multiTouch = false; - if (cacheIntZoom != getZoom() || cacheFractionalZoom != getZoomFractionalPart()) { - cacheIntZoom = getZoom(); - cacheFractionalZoom = getZoomFractionalPart(); - multiTouchEndTime = 0; + if (isZooming()) { + wasZoomInMultiTouch = true; } else { multiTouchEndTime = System.currentTimeMillis(); + wasZoomInMultiTouch = false; } } + @Override + public void onActionCancel() { + multiTouch = false; + } + @Override public void onZoomStarted(PointF centerPoint) { initialMultiTouchCenterPoint = centerPoint; diff --git a/OsmAnd/src/net/osmand/plus/views/RulerControlLayer.java b/OsmAnd/src/net/osmand/plus/views/RulerControlLayer.java index 818069757b..f9e620d346 100644 --- a/OsmAnd/src/net/osmand/plus/views/RulerControlLayer.java +++ b/OsmAnd/src/net/osmand/plus/views/RulerControlLayer.java @@ -13,6 +13,7 @@ import android.os.Message; import android.view.View; import net.osmand.Location; +import net.osmand.data.LatLon; import net.osmand.data.QuadPoint; import net.osmand.data.RotatedTileBox; import net.osmand.plus.OsmAndFormatter; @@ -27,7 +28,7 @@ import gnu.trove.list.array.TIntArrayList; public class RulerControlLayer extends OsmandMapLayer { - public static final long DELAY = 1500; + public static final long DELAY = 2000; private static final int TEXT_SIZE = 14; private final MapActivity mapActivity; @@ -40,10 +41,10 @@ public class RulerControlLayer extends OsmandMapLayer { private float maxRadius; private int radius; private double roundedDist; + private boolean showTwoFingersDistance; private QuadPoint cacheCenter; private int cacheIntZoom; - private double cacheFractionalZoom; private double cacheTileX; private double cacheTileY; private long cacheMultiTouchEndTime; @@ -64,6 +65,10 @@ public class RulerControlLayer extends OsmandMapLayer { this.mapActivity = mapActivity; } + public boolean isShowTwoFingersDistance() { + return showTwoFingersDistance; + } + @Override public void initLayer(final OsmandMapTileView view) { app = mapActivity.getMyApplication(); @@ -113,21 +118,21 @@ public class RulerControlLayer extends OsmandMapLayer { final QuadPoint center = tb.getCenterPixelPoint(); final RulerMode mode = app.getSettings().RULER_MODE.get(); - if (cacheIntZoom != view.getZoom() || cacheFractionalZoom != view.getZoomFractionalPart()) { - cacheIntZoom = view.getZoom(); - cacheFractionalZoom = view.getZoomFractionalPart(); - view.setMultiTouchEndTime(0); - cacheMultiTouchEndTime = 0; + if (view.isMultiTouch() && view.isZooming()) { + view.setWasZoomInMultiTouch(true); } else if (cacheMultiTouchEndTime != view.getMultiTouchEndTime()) { cacheMultiTouchEndTime = view.getMultiTouchEndTime(); refreshMapDelayed(); } - if (!view.isZooming() && view.isMultiTouch() || System.currentTimeMillis() - cacheMultiTouchEndTime < DELAY) { - float x1 = view.getFirstTouchPointX(); - float y1 = view.getFirstTouchPointY(); - float x2 = view.getSecondTouchPointX(); - float y2 = view.getSecondTouchPointY(); - drawFingerDistance(canvas, tb, center, x1, y1, x2, y2, settings.isNightMode()); + showTwoFingersDistance = !view.isWasZoomInMultiTouch() && !view.isZooming() && (view.isMultiTouch() || System.currentTimeMillis() - cacheMultiTouchEndTime < DELAY); + if (showTwoFingersDistance) { + LatLon firstTouchPoint = view.getFirstTouchPointLatLon(); + LatLon secondTouchPoint = view.getSecondTouchPointLatLon(); + float x1 = tb.getPixXFromLonNoRot(firstTouchPoint.getLongitude()); + float y1 = tb.getPixYFromLatNoRot(firstTouchPoint.getLatitude()); + float x2 = tb.getPixXFromLonNoRot(secondTouchPoint.getLongitude()); + float y2 = tb.getPixYFromLatNoRot(secondTouchPoint.getLatitude()); + drawFingerDistance(canvas, x1, y1, x2, y2, settings.isNightMode()); } else if (mode == RulerMode.FIRST) { drawCenterIcon(canvas, tb, center, settings.isNightMode()); Location currentLoc = app.getLocationProvider().getLastKnownLocation(); @@ -149,12 +154,10 @@ public class RulerControlLayer extends OsmandMapLayer { handler.sendEmptyMessageDelayed(0, DELAY + 50); } - private void drawFingerDistance(Canvas canvas, RotatedTileBox tb, QuadPoint center, float x1, float y1, float x2, float y2, boolean nightMode) { - canvas.rotate(-tb.getRotate(), center.x, center.y); + private void drawFingerDistance(Canvas canvas, float x1, float y1, float x2, float y2, boolean nightMode) { canvas.drawLine(x1, y1, x2, y2, lineAttrs.paint); drawFingerTouchIcon(canvas, x1, y1, nightMode); drawFingerTouchIcon(canvas, x2, y2, nightMode); - canvas.rotate(tb.getRotate(), center.x, center.y); } private void drawFingerTouchIcon(Canvas canvas, float x, float y, boolean nightMode) { diff --git a/OsmAnd/src/net/osmand/plus/views/mapwidgets/MapInfoWidgetsFactory.java b/OsmAnd/src/net/osmand/plus/views/mapwidgets/MapInfoWidgetsFactory.java index 63ed075c6e..ab47bd1c0f 100644 --- a/OsmAnd/src/net/osmand/plus/views/mapwidgets/MapInfoWidgetsFactory.java +++ b/OsmAnd/src/net/osmand/plus/views/mapwidgets/MapInfoWidgetsFactory.java @@ -150,7 +150,7 @@ public class MapInfoWidgetsFactory { RulerMode mode = rulerMode.get(); if (mode == RulerMode.FIRST) { return RULER_CONTROL_WIDGET_STATE_FIRST_MODE; - } else if (mode == RulerMode.SECOND){ + } else if (mode == RulerMode.SECOND) { return RULER_CONTROL_WIDGET_STATE_SECOND_MODE; } else { return RULER_CONTROL_WIDGET_STATE_EMPTY_MODE; @@ -184,30 +184,23 @@ public class MapInfoWidgetsFactory { public TextInfoWidget createRulerControl(final MapActivity map) { final String title = map.getResources().getString(R.string.map_widget_show_ruler); - final TextInfoWidget rulerControl = new TextInfoWidget(map) { - boolean needNewLatLon; - long cacheMultiTouchEndTime; + final TextInfoWidget rulerControl = new TextInfoWidget(map) { + RulerControlLayer rulerLayer = map.getMapLayers().getRulerControlLayer(); + LatLon cacheFirstTouchPoint = new LatLon(0, 0); + LatLon cacheSecondTouchPoint = new LatLon(0, 0); @Override public boolean updateInfo(DrawSettings drawSettings) { RulerMode mode = map.getMyApplication().getSettings().RULER_MODE.get(); OsmandMapTileView view = map.getMapView(); - if (cacheMultiTouchEndTime != view.getMultiTouchEndTime()) { - cacheMultiTouchEndTime = view.getMultiTouchEndTime(); - needNewLatLon = true; - } - if (!view.isZooming() && view.isMultiTouch() || System.currentTimeMillis() - cacheMultiTouchEndTime < RulerControlLayer.DELAY) { - if (needNewLatLon) { - float x1 = view.getFirstTouchPointX(); - float y1 = view.getFirstTouchPointY(); - float x2 = view.getSecondTouchPointX(); - float y2 = view.getSecondTouchPointY(); - LatLon firstFinger = view.getCurrentRotatedTileBox().getLatLonFromPixel(x1, y1); - LatLon secondFinger = view.getCurrentRotatedTileBox().getLatLonFromPixel(x2, y2); - setDistanceText(firstFinger.getLatitude(), firstFinger.getLongitude(), - secondFinger.getLatitude(), secondFinger.getLongitude()); - needNewLatLon = false; + if (rulerLayer.isShowTwoFingersDistance()) { + if (!cacheFirstTouchPoint.equals(view.getFirstTouchPointLatLon()) || + !cacheSecondTouchPoint.equals(view.getSecondTouchPointLatLon())) { + cacheFirstTouchPoint = view.getFirstTouchPointLatLon(); + cacheSecondTouchPoint = view.getSecondTouchPointLatLon(); + setDistanceText(cacheFirstTouchPoint.getLatitude(), cacheFirstTouchPoint.getLongitude(), + cacheSecondTouchPoint.getLatitude(), cacheSecondTouchPoint.getLongitude()); } } else if (mode == RulerMode.FIRST || mode == RulerMode.SECOND) { Location currentLoc = map.getMyApplication().getLocationProvider().getLastKnownLocation(); @@ -217,10 +210,8 @@ public class MapInfoWidgetsFactory { setDistanceText(currentLoc.getLatitude(), currentLoc.getLongitude(), centerLoc.getLatitude(), centerLoc.getLongitude()); } - needNewLatLon = true; } else { setText(title, null); - needNewLatLon = true; } return true; }