Merge branch 'master' of ssh://github.com/osmandapp/Osmand

This commit is contained in:
Victor Shcherb 2014-08-03 11:03:27 +02:00
commit 0f8799f3b4
31 changed files with 549 additions and 256 deletions

View file

@ -1249,7 +1249,7 @@
<string name="prefer_in_routing_descr">Millor autopistes</string> <string name="prefer_in_routing_descr">Millor autopistes</string>
<string name="max_speed_none">cap</string> <string name="max_speed_none">cap</string>
<string name="local_indexes_cat_srtm">Dades de les corbes de nivell</string> <string name="local_indexes_cat_srtm">Dades de les corbes de nivell</string>
<string name="monitoring_settings_descr">Podeu configurar com enregistrar els recorreguts i habilitar el mode en suspensió</string> <string name="monitoring_settings_descr">Configurar com enregistrar els recorreguts</string>
<string name="osmand_monitoring_plugin_name">Serveis d\'enregistrament</string> <string name="osmand_monitoring_plugin_name">Serveis d\'enregistrament</string>
<string name="av_use_external_camera_descr">Usa l\\\'aplicació del sistema per a les fotografies</string> <string name="av_use_external_camera_descr">Usa l\\\'aplicació del sistema per a les fotografies</string>
<string name="av_use_external_camera">Usa l\\\'aplicació de la càmera</string> <string name="av_use_external_camera">Usa l\\\'aplicació de la càmera</string>
@ -1819,7 +1819,7 @@ La llista de països inclosos (bàsicament tot el món!): Afganistan, Albània,
<string name="selected_track">Traces seleccionades</string> <string name="selected_track">Traces seleccionades</string>
<string name="my_tracks">Totes les pistes</string> <string name="my_tracks">Totes les pistes</string>
<string name="my_favorites">El meus favorits</string> <string name="my_favorites">El meus favorits</string>
<string name="my_data_Button">Les meus llocs</string> <string name="my_data_Button">Els meus llocs</string>
<string name="my_data_activity">Els meus llocs</string> <string name="my_data_activity">Els meus llocs</string>
<string name="osmo_user_joined">L\'usuari %1$s s\'ha unit al grup %2$s</string> <string name="osmo_user_joined">L\'usuari %1$s s\'ha unit al grup %2$s</string>
<string name="osmo_user_left">L\'usuari %1$s ha deixat el grup %2$s</string> <string name="osmo_user_left">L\'usuari %1$s ha deixat el grup %2$s</string>
@ -1931,4 +1931,8 @@ La llista de països inclosos (bàsicament tot el món!): Afganistan, Albània,
<string name="arrival_distance_factor_late">Tard</string> <string name="arrival_distance_factor_late">Tard</string>
<string name="arrival_distance_factor_at_last">Als darrers metres</string> <string name="arrival_distance_factor_at_last">Als darrers metres</string>
<string name="rendering_attr_coloredBuildings_name">Edificis amb colors</string> <string name="rendering_attr_coloredBuildings_name">Edificis amb colors</string>
</resources> <string name="av_camera_pic_size">Mida d\'imatge de la càmera</string>
<string name="av_camera_pic_size_descr">Triar la mida d\'imatge de la càmera interna</string>
<string name="hide_all_waypoints">Esborra tot</string>
<string name="announce_nearby_favorites">Indica preferits propers</string>
</resources>

View file

@ -1457,7 +1457,7 @@ Afghanistan, Albanien, Algeriet, Andorra, Angola, Anguilla, Antigua og Barbuda,
\n* Nederste venstre knap på kortskærmen erstatter menuknappen \n* Nederste venstre knap på kortskærmen erstatter menuknappen
</string> </string>
<string name="monitoring_settings">Logningstjenester</string> <string name="monitoring_settings">Logningstjenester</string>
<string name="monitoring_settings_descr">Indstil, hvordan ture optages og dvaletilstand aktiveres</string> <string name="monitoring_settings_descr">Indstil, hvordan ture optages</string>
<string name="osmand_monitoring_plugin_name">Logningstjenester</string> <string name="osmand_monitoring_plugin_name">Logningstjenester</string>
<string name="local_openstreetmap_act_title">OSM modifikationer</string> <string name="local_openstreetmap_act_title">OSM modifikationer</string>
<string name="default_buttons_other_actions">Flere handlinger</string> <string name="default_buttons_other_actions">Flere handlinger</string>
@ -1956,4 +1956,7 @@ Afghanistan, Albanien, Algeriet, Andorra, Angola, Anguilla, Antigua og Barbuda,
<string name="arrival_distance_factor_at_last">Ved de sidste meter</string> <string name="arrival_distance_factor_at_last">Ved de sidste meter</string>
<string name="rendering_attr_coloredBuildings_name">Farvede bygninger</string> <string name="rendering_attr_coloredBuildings_name">Farvede bygninger</string>
<string name="hide_all_waypoints">Fjern alle</string> <string name="hide_all_waypoints">Fjern alle</string>
<string name="av_camera_pic_size">Kamera billedstørrelse</string>
<string name="av_camera_pic_size_descr">Vælg billedstørrelse for intern kamera</string>
<string name="announce_nearby_favorites">Meddel om favoritter i nærheden</string>
</resources> </resources>

View file

@ -1,5 +1,20 @@
<?xml version='1.0' encoding='utf-8'?> <?xml version='1.0' encoding='utf-8'?>
<resources><string name="route_is_too_long">Die Route ist wahrscheinlich zu lang um vom OsmAnd-Offline-Router berechnet zu werden. Offline-Routing ist bis ungefähr 200 km Abstand zwischen einzelnen Punkten möglich. Bitte einen oder mehrere Zwischenpunkte setzen um die Route berechnen zu können.</string> <resources>
<string name="rendering_attr_coloredBuildings_name">Gefärbte Gebäude</string>
<string name="continue_navigation">Navigation fortsetzen</string>
<string name="pause_navigation">Navigation pausieren</string>
<string name="keep_navigation_service">Aktiv lassen</string>
<string name="stop_navigation_service">Anhalten</string>
<string name="enable_sleep_mode">Schlafmodus aktivieren</string>
<string name="rendering_attr_alpineHiking_name">Alpinwanderung Ansicht</string>
<string name="rendering_attr_alpineHiking_description">Wege entsprechend der SAC-Wanderskala darstellen</string>
<string name="rendering_attr_osmcTraces_name">Wandersymbole anzeigen</string>
<string name="rendering_attr_osmcTraces_description">Wandersymbole anzeigen (OSMC)</string>
<string name="arrival_distance_factor_early">Früh</string>
<string name="arrival_distance_factor_normally">Normal</string>
<string name="arrival_distance_factor_late">Spät</string>
<string name="arrival_distance_factor_at_last">Auf den letzten Metern</string>
<string name="route_is_too_long">Die Route ist wahrscheinlich zu lang um vom OsmAnd-Offline-Router berechnet zu werden. Offline-Routing ist bis ungefähr 200 km Abstand zwischen einzelnen Punkten möglich. Bitte einen oder mehrere Zwischenpunkte setzen um die Route berechnen zu können.</string>
<string name="auto_zoom_none">Kein Auto-Zoom</string> <string name="auto_zoom_none">Kein Auto-Zoom</string>
<string name="auto_zoom_close">Auf Nahbereich</string> <string name="auto_zoom_close">Auf Nahbereich</string>
<string name="auto_zoom_far">Auf Mittelbereich</string> <string name="auto_zoom_far">Auf Mittelbereich</string>
@ -587,7 +602,7 @@
</string> </string>
<string name="tip_app_mode">Profil verwenden</string> <string name="tip_app_mode">Profil verwenden</string>
<string name="tip_app_mode_t_v2">OsmAnd unterstützt verschiedene (individuell anpassbare) Profile für unterschiedliche Einsatzzwecke. <string name="tip_app_mode_t_v2">OsmAnd unterstützt verschiedene (individuell anpassbare) Profile für unterschiedliche Einsatzzwecke.
\n\nDas Profil kann mit dem Profilknopf links unten (Bild Auto, Fahrrad, oder Fußgänger) auf dem Kartenbildschirm gewählt werden, oder auch beim Berechnen einer Route (Transportmittel). \n\nDas Profil kann mit dem Profilknopf links unten (Bild Auto, Fahrrad oder Fußgänger) auf dem Kartenbildschirm gewählt werden, oder auch beim Berechnen einer Route (Transportmittel).
</string> </string>
<string name="tip_search">Suchen</string> <string name="tip_search">Suchen</string>
<string name="tip_search_t">Um bestimmte Orte zu finden, können Sie entweder auf der Landkarte über das \'Verwende Position\'-Kontextmenü \'In der Nähe suchen\' aufrufen, oder den Suchbildschirm über \'Menü\' → \'Suche\' erreichen. <string name="tip_search_t">Um bestimmte Orte zu finden, können Sie entweder auf der Landkarte über das \'Verwende Position\'-Kontextmenü \'In der Nähe suchen\' aufrufen, oder den Suchbildschirm über \'Menü\' → \'Suche\' erreichen.
@ -1321,10 +1336,10 @@
<string name="tip_recent_changes_1_3_t">Änderungen in 1.3: <string name="tip_recent_changes_1_3_t">Änderungen in 1.3:
\n\t * Holo-Theme (Anpassung des Theme) \n\t * Holo-Theme (Anpassung des Theme)
</string> </string>
<string name="monitoring_settings">Tracking &amp; Schlaf-Modus</string> <string name="monitoring_settings">Aufzeichnungs-Dienste</string>
<string name="monitoring_settings_descr">Tracking-Einstellungen und Konfiguration des Hintergrundmodus</string> <string name="monitoring_settings_descr">Konfiguration der Aufzeichnungs-Dienste</string>
<string name="osmand_monitoring_plugin_description">Aktivieren Sie Tracking und die Navigation im Schlaf-Modus (Bildschirm aus). Das GPS-Gerät wird regelmäßig aktiviert. Zeigt Ihre Einstellungen zum Aufzeichnen Ihrer Wege als lokale GPX-Datei oder online bei einem Web-Service.</string> <string name="osmand_monitoring_plugin_description">Aktivieren Sie Tracking und die Navigation im Schlaf-Modus (Bildschirm aus). Das GPS-Gerät wird regelmäßig aktiviert. Zeigt Ihre Einstellungen zum Aufzeichnen Ihrer Wege als lokale GPX-Datei oder online bei einem Web-Service.</string>
<string name="osmand_monitoring_plugin_name">Tracking &amp; Schlaf-Modus</string> <string name="osmand_monitoring_plugin_name">Aufzeichnungs-Dienste</string>
<string name="choose_osmand_theme_descr">Theme der Anwendung auswählen</string> <string name="choose_osmand_theme_descr">Theme der Anwendung auswählen</string>
<string name="accessibility_options">Eingabehilfen-Einstellungen</string> <string name="accessibility_options">Eingabehilfen-Einstellungen</string>
<string name="select_address_activity">Adresse auswählen</string> <string name="select_address_activity">Adresse auswählen</string>
@ -1865,7 +1880,7 @@ Afghanistan, Ägypten, Albanien, Algerien, Andorra, Angola, Anguilla, Antigua an
<string name="selected">ausgewählte</string> <string name="selected">ausgewählte</string>
<string name="save_as_favorites_points">als Favoriten-Gruppe speichern</string> <string name="save_as_favorites_points">als Favoriten-Gruppe speichern</string>
<string name="select_destination_and_intermediate_points">Wegpunkte auswählen</string> <string name="select_destination_and_intermediate_points">Wegpunkte auswählen</string>
<string name="gpx_split_interval">Trennungs-Intervall wählen</string> <string name="gpx_split_interval">Trennungs-Intervall</string>
<string name="gpx_info_subtracks">"Spurteile: %1$s "</string> <string name="gpx_info_subtracks">"Spurteile: %1$s "</string>
<string name="osmo_edit_color">Darstellungsfarbe</string> <string name="osmo_edit_color">Darstellungsfarbe</string>
<string name="sort_by_distance">Sortieren nach Entfernung</string> <string name="sort_by_distance">Sortieren nach Entfernung</string>
@ -1891,7 +1906,7 @@ Afghanistan, Ägypten, Albanien, Algerien, Andorra, Angola, Anguilla, Antigua an
<string name="rendering_attr_showSurfaces_name">Straßenoberfläche anzeigen</string> <string name="rendering_attr_showSurfaces_name">Straßenoberfläche anzeigen</string>
<string name="rendering_attr_showCycleRoutes_name">Fahrrad-Routen anzeigen</string> <string name="rendering_attr_showCycleRoutes_name">Fahrrad-Routen anzeigen</string>
<string name="osmo_auth_error_short">Anmeldung fehlgeschlagen</string> <string name="osmo_auth_error_short">Anmeldung fehlgeschlagen</string>
<string name="osmo_auth_error">Fehler bei der OsMo-Anmeldung: %1$s.\n Möglicherweise ist der Dienst nicht verfügbar, oder deine Anmeldung ist abgelaufen.\n Fortsetzen mit einer neuen Registrierung?</string> <string name="osmo_auth_error">Fehler bei der OsMo-Anmeldung: %1$s.\n Möglicherweise ist der Dienst nicht verfügbar oder deine Anmeldung ist abgelaufen.\n Fortsetzen mit einer neuen Registrierung?</string>
<string name="osmo_group_by_invite">Auf Einladung beitreten</string> <string name="osmo_group_by_invite">Auf Einladung beitreten</string>
<string name="osmo_group_information_desc">" - Alle angelegten Gruppen sind öffentlich! Für eine anonyme Verbindung bitte direkt mittels Tracker-ID verbinden.\n - In einer Gruppe können sich bis zu 16 Mitglieder anmelden.\n - Bei Inaktivität oder nur einem einzigen Mitglied über 2 Wochen wird die Gruppe gelöscht.\n - Der Zugang zu einer Gruppe kann beschränkt werden: \"nur auf Einladung\". Zur Steuerung der Gruppe benötigt man Zugang zur Admin-Konsole.\n - Zum Erstellen einer Gruppe mit abweichenden Bedingungen bitte Kontakt aufnehmen unter http://osmo.mobi"</string> <string name="osmo_group_information_desc">" - Alle angelegten Gruppen sind öffentlich! Für eine anonyme Verbindung bitte direkt mittels Tracker-ID verbinden.\n - In einer Gruppe können sich bis zu 16 Mitglieder anmelden.\n - Bei Inaktivität oder nur einem einzigen Mitglied über 2 Wochen wird die Gruppe gelöscht.\n - Der Zugang zu einer Gruppe kann beschränkt werden: \"nur auf Einladung\". Zur Steuerung der Gruppe benötigt man Zugang zur Admin-Konsole.\n - Zum Erstellen einer Gruppe mit abweichenden Bedingungen bitte Kontakt aufnehmen unter http://osmo.mobi"</string>
<string name="osmo_group_information">Bitte vor dem Erstellen von Gruppen beachten!</string> <string name="osmo_group_information">Bitte vor dem Erstellen von Gruppen beachten!</string>
@ -1917,12 +1932,13 @@ Afghanistan, Ägypten, Albanien, Algerien, Andorra, Angola, Anguilla, Antigua an
<string name="lang_he">Hebräisch</string> <string name="lang_he">Hebräisch</string>
<string name="live_monitoring_m_descr">Sende Verfolgungsdaten zu einem festgelegten Internet Dienst, wenn GPX-Aufzeichnung aktiviert ist.</string> <string name="live_monitoring_m_descr">Sende Verfolgungsdaten zu einem festgelegten Internet Dienst, wenn GPX-Aufzeichnung aktiviert ist.</string>
<string name="live_monitoring_m">Online Verfolgung (benötigt GPX)</string> <string name="live_monitoring_m">Online Verfolgung (benötigt GPX)</string>
<string name="live_monitoring_start">Starte online Verfolgung</string> <string name="live_monitoring_start">Starte Online-Verfolgung</string>
<string name="live_monitoring_stop">Stoppe Online-Verfolgung</string>
<string name="gpx_monitoring_start">Starte GPX-Aufzeichnung</string> <string name="gpx_monitoring_start">Starte GPX-Aufzeichnung</string>
<string name="gpx_monitoring_stop">Stoppe GPX-Aufzeichnung</string> <string name="gpx_monitoring_stop">Stoppe GPX-Aufzeichnung</string>
<string name="gpx_start_new_segment">Starte neues Segment</string> <string name="gpx_start_new_segment">Starte neues Segment</string>
<string name="lang_sc">Sardinisch</string> <string name="lang_sc">Sardinisch</string>
<string name="rendering_attr_subwayMode_name">U-Bahn-Modus</string> <string name="rendering_attr_subwayMode_name">U-Bahn-Modus</string>
<string name="gps_wake_up_timer">GPS Aufwach Intervall</string> <string name="gps_wake_up_timer">GPS Aufwach-Intervall</string>
<string name="sleep_mode_stop_dialog">GPS aktiv lassen?</string> <string name="sleep_mode_stop_dialog">GPS aktiv lassen?</string>
</resources> </resources>

View file

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version='1.0' encoding='utf-8'?>
<resources><string name="btn_add_tag">Προσθήκη Ετικέτας</string> <resources><string name="btn_add_tag">Προσθήκη Ετικέτας</string>
<string name="btn_advanced_mode">Λειτουργία για προχωρημένους…</string> <string name="btn_advanced_mode">Λειτουργία για προχωρημένους…</string>
<string name="poi_filter_parking">Στάθμευση</string> <string name="poi_filter_parking">Στάθμευση</string>
@ -1262,7 +1262,7 @@
<string name="street_name">Οδός</string> <string name="street_name">Οδός</string>
<string name="hno">Αριθμός σπιτιού</string> <string name="hno">Αριθμός σπιτιού</string>
<string name="monitoring_settings">Υπηρεσίες καταγραφής</string> <string name="monitoring_settings">Υπηρεσίες καταγραφής</string>
<string name="monitoring_settings_descr">Διαμορφώστε πως θα καταγράφονται τα ταξίδια και ενεργοποίηση της κατάστασης νάρκης</string> <string name="monitoring_settings_descr">Διαμορφώστε πως θα καταγράφονται τα ταξίδια</string>
<string name="osmand_monitoring_plugin_name">Υπηρεσίες καταγραφής</string> <string name="osmand_monitoring_plugin_name">Υπηρεσίες καταγραφής</string>
<string name="choose_osmand_theme_descr">Επιλογή θέματος εφαρμογής</string> <string name="choose_osmand_theme_descr">Επιλογή θέματος εφαρμογής</string>
<string name="choose_osmand_theme">Θέμα Εφαρμογής</string> <string name="choose_osmand_theme">Θέμα Εφαρμογής</string>
@ -1615,4 +1615,33 @@
<string name="rendering_attr_showAccess_name">Εμφάνιση του είδους πρόσβασης</string> <string name="rendering_attr_showAccess_name">Εμφάνιση του είδους πρόσβασης</string>
<string name="rendering_attr_showSurfaceGrade_name">Εμφάνιση της ποιότητας των δρόμων</string> <string name="rendering_attr_showSurfaceGrade_name">Εμφάνιση της ποιότητας των δρόμων</string>
<string name="osmo_auth_error_short">Αποτυχία εξουσιοδότησης</string> <string name="osmo_auth_error_short">Αποτυχία εξουσιοδότησης</string>
</resources> <string name="rendering_attr_coloredBuildings_name">Έγχρωμα κτίρια</string>
<string name="osmo_invite">Προσκαλέστε…</string>
<string name="osmo_leave_confirmation_msg">Θέλετε να φύγετε από την ομάδα %1$s?</string>
<string name="continue_navigation">Συνέχιση της Πλοήγησης</string>
<string name="pause_navigation">Παύση Πλοήγησης</string>
<string name="keep_navigation_service">Διατήρηση</string>
<string name="enable_sleep_mode">Ενεργοποίηση κατάστασης νάρκης</string>
<string name="gps_wake_up_timer">Διάστημα αφύπνισης GPS</string>
<string name="rendering_attr_hideNonVehicleHighways_name">Απόκρυψη μη αμαξιτών δρόμων</string>
<string name="rendering_attr_showSurfaces_name">Εμφάνιση οδοστρωμάτων</string>
<string name="osmo_group_by_invite">Είσοδος με πρόσκληση</string>
<string name="osmo_group_information">Παρακαλώ διαβάστε πριν τη δημιουργία μιας ομάδας!</string>
<string name="no_index_file_to_download">Τίποτα προς λήψη, ελέγξτε τη σύνδεση στο internet.</string>
<string name="osmo_mode_restart">Επανεκκίνηση της συνόδου OsMo</string>
<string name="osmo_mode_off">Εκκίνηση συνόδου OsMo</string>
<string name="osmo_settings_debug">Πληροφορίες αποσφαλμάτωσης</string>
<string name="lang_al">Αλβανικά</string>
<string name="lang_ar">Αραβικά</string>
<string name="lang_fa">Περσικά</string>
<string name="lang_sr">Σερβικά</string>
<string name="lang_zh_CN">Απλοποιημένα Κινέζικα</string>
<string name="lang_zh_TW">Παραδοσιακά κινέζικα</string>
<string name="arrival_distance_factor_early">Νωρίς</string>
<string name="arrival_distance_factor_normally">Κανονικά</string>
<string name="arrival_distance_factor_late">Αργά</string>
<string name="arrival_distance_factor_at_last">Στα τελευταία μέτρα</string>
<string name="keep_informing_descr">Επανάληψη οδηγιών πλοήγησης σε τακτά χρονικά διαστήματα</string>
<string name="hide_all_waypoints">Αφαίρεση όλων</string>
<string name="announce_nearby_favorites">Ανακοίνωση κοντινών αγαπημένων</string>
</resources>

View file

@ -1844,4 +1844,5 @@ Afganistán, Albania, Alemania, Andorra, Angola, Anguila, Antigua y Barbuda, Ant
<string name="arrival_distance_factor_late">Tarde</string> <string name="arrival_distance_factor_late">Tarde</string>
<string name="arrival_distance_factor_at_last">En los últimos metros</string> <string name="arrival_distance_factor_at_last">En los últimos metros</string>
<string name="rendering_attr_coloredBuildings_name">Edificios de colores</string> <string name="rendering_attr_coloredBuildings_name">Edificios de colores</string>
</resources> <string name="hide_all_waypoints">Quitar todos</string>
</resources>

View file

@ -1954,4 +1954,5 @@ Si consiglia di aggiungere uno o più punti intermedi per migliorarne le prestaz
<string name="arrival_distance_factor_normally">Normale</string> <string name="arrival_distance_factor_normally">Normale</string>
<string name="arrival_distance_factor_late">Tardi</string> <string name="arrival_distance_factor_late">Tardi</string>
<string name="arrival_distance_factor_at_last">Agli ultimi metri</string> <string name="arrival_distance_factor_at_last">Agli ultimi metri</string>
</resources> <string name="hide_all_waypoints">Cancellali tutti</string>
</resources>

View file

@ -92,7 +92,7 @@
<string name="live_monitoring_interval">온라인 트래킹 시간 간격</string> <string name="live_monitoring_interval">온라인 트래킹 시간 간격</string>
<string name="live_monitoring_url_descr">온라인 트래킹할 웹 주소를 지정합니다. 매개변수 형식 : 위도={0}, 경도={1}, 시간={2}, hdop={3}, 고도={4}, 속도={5}, bearing={6}</string> <string name="live_monitoring_url_descr">온라인 트래킹할 웹 주소를 지정합니다. 매개변수 형식 : 위도={0}, 경도={1}, 시간={2}, hdop={3}, 고도={4}, 속도={5}, bearing={6}</string>
<string name="live_monitoring_url">온라인 트래킹 웹 주소</string> <string name="live_monitoring_url">온라인 트래킹 웹 주소</string>
<string name="gpx_monitoring_disabled_warn">\'Log track to GPX 파일\' 설정을 활성화하세요.</string> <string name="gpx_monitoring_disabled_warn">\'트랙을 GPX 파일에 기록\' 설정을 활성화 하세요.</string>
<string name="show_current_gpx_title">현재의 GPX트랙을 보여줍니다</string> <string name="show_current_gpx_title">현재의 GPX트랙을 보여줍니다</string>
<string name="tip_recent_changes_0_7_0_t">0.7.0 버전에 대한 변경 사항들 : <string name="tip_recent_changes_0_7_0_t">0.7.0 버전에 대한 변경 사항들 :
\n\t- 오프라인 위키피디아 기사 포함 데이터 \n\t- 오프라인 위키피디아 기사 포함 데이터
@ -1019,7 +1019,7 @@ OsmAnd 는 Openstreetmap.org (OSM) 데이터 기반의 맵을 사용하며 -맵
<string name="tip_map_styles">지도 스타일</string> <string name="tip_map_styles">지도 스타일</string>
<string name="about_version">버전:</string> <string name="about_version">버전:</string>
<string name="about_settings_descr">버전 정보, 라이센스, 프로젝트 멤버</string> <string name="about_settings_descr">버전 정보, 라이센스, 프로젝트 멤버</string>
<string name="tips_and_tricks">Tips (도움말)</string> <string name="tips_and_tricks">도움말</string>
<string name="about_settings">소개</string> <string name="about_settings">소개</string>
<string name="local_index_tile_data_zooms">다운로드된 줌 : %1$s</string> <string name="local_index_tile_data_zooms">다운로드된 줌 : %1$s</string>
<string name="local_index_tile_data_expire">만료(분) : %1$s</string> <string name="local_index_tile_data_expire">만료(분) : %1$s</string>
@ -1154,7 +1154,7 @@ OsmAnd 는 Openstreetmap.org (OSM) 데이터 기반의 맵을 사용하며 -맵
         \n\t* 지도 화면에서 좌상단 버튼는 메뉴버튼을 대체          \n\t* 지도 화면에서 좌상단 버튼는 메뉴버튼을 대체
</string> </string>
<string name="monitoring_settings">로깅 서비스</string> <string name="monitoring_settings">로깅 서비스</string>
<string name="monitoring_settings_descr">트랙을 기록하는 방법을 구성하고 절전 모드를 활성화합니다</string> <string name="monitoring_settings_descr">트랙을 기록하는 방법을 구성합니다</string>
<string name="osmand_monitoring_plugin_description">절전모드(스크린 끄기)에서 트래킹 및 경로탐색 활성화, 주기적으로 GPS 장치가 작동중일 때 . 표시 설정은 로컬 GPX 파일이나 웹 서비스를 사용하는 온라인에 트랙을 기록하는 설비 가능.</string> <string name="osmand_monitoring_plugin_description">절전모드(스크린 끄기)에서 트래킹 및 경로탐색 활성화, 주기적으로 GPS 장치가 작동중일 때 . 표시 설정은 로컬 GPX 파일이나 웹 서비스를 사용하는 온라인에 트랙을 기록하는 설비 가능.</string>
<string name="osmand_monitoring_plugin_name">로깅 서비스</string> <string name="osmand_monitoring_plugin_name">로깅 서비스</string>
<string name="osmand_background_plugin_description">주기적으로 GPS 장치를 깨어 절전모드(스크린 끄기)에서 트래킹 및 경로탐색을 가능하게 하는 설정 표시.</string> <string name="osmand_background_plugin_description">주기적으로 GPS 장치를 깨어 절전모드(스크린 끄기)에서 트래킹 및 경로탐색을 가능하게 하는 설정 표시.</string>
@ -1196,8 +1196,8 @@ OsmAnd 는 Openstreetmap.org (OSM) 데이터 기반의 맵을 사용하며 -맵
<string name="srtm_paid_version_msg">등고선 추가 개발을 지원하기 위해 구글시장에서 플러그인을 구입하시기 바랍니다 .</string> <string name="srtm_paid_version_msg">등고선 추가 개발을 지원하기 위해 구글시장에서 플러그인을 구입하시기 바랍니다 .</string>
<string name="srtm_paid_version_title">등고선 플러그인</string> <string name="srtm_paid_version_title">등고선 플러그인</string>
<string name="av_def_action_choose">요청에 대한 선택</string> <string name="av_def_action_choose">요청에 대한 선택</string>
<string name="av_def_action_video">비디오 기록</string> <string name="av_def_action_video">비디오 녹화</string>
<string name="av_def_action_audio">오디오 기록</string> <string name="av_def_action_audio">오디오 녹음</string>
<string name="av_widget_action_descr">기본 위젯의 동작을 선택합니다</string> <string name="av_widget_action_descr">기본 위젯의 동작을 선택합니다</string>
<string name="av_widget_action">기본 위젯 작업</string> <string name="av_widget_action">기본 위젯 작업</string>
<string name="av_video_format_descr">비디오 출력 형식 선택</string> <string name="av_video_format_descr">비디오 출력 형식 선택</string>
@ -2000,7 +2000,7 @@ Vanuatu, Venezuela, Vietnam, Wallis and Futuna, Western Sahara, Yemen, Zambia, Z
<string name="layer_amenity_label">포인트 레이블</string> <string name="layer_amenity_label">포인트 레이블</string>
<string name="show_zoom_buttons_navigation_descr">길안내중에 줌 버튼 보기</string> <string name="show_zoom_buttons_navigation_descr">길안내중에 줌 버튼 보기</string>
<string name="show_zoom_buttons_navigation">줌 버튼 보이기</string> <string name="show_zoom_buttons_navigation">줌 버튼 보이기</string>
<string name="none_selected_gpx">"선택한 GPX 파일 없음. 이용 가능한 경로를 선택 하려면 누르고 있어요."</string> <string name="none_selected_gpx">"선택한 GPX 파일 없음. 이용 가능한 GPX트랙을 선택 하려면 누르고 있어요."</string>
<string name="local_index_unselect_gpx_file">선택을 취소합니다.</string> <string name="local_index_unselect_gpx_file">선택을 취소합니다.</string>
<string name="local_index_select_gpx_file">보이기위해 선택</string> <string name="local_index_select_gpx_file">보이기위해 선택</string>
<string name="sort_by_distance">거리로 정렬</string> <string name="sort_by_distance">거리로 정렬</string>
@ -2074,4 +2074,8 @@ Vanuatu, Venezuela, Vietnam, Wallis and Futuna, Western Sahara, Yemen, Zambia, Z
<string name="arrival_distance_factor_normally">일반적으로</string> <string name="arrival_distance_factor_normally">일반적으로</string>
<string name="arrival_distance_factor_late">늦게</string> <string name="arrival_distance_factor_late">늦게</string>
<string name="arrival_distance_factor_at_last">마지막 미터</string> <string name="arrival_distance_factor_at_last">마지막 미터</string>
</resources> <string name="hide_all_waypoints">모든 포인트 숨기기</string>
<string name="av_camera_pic_size">카메라 사진 크기</string>
<string name="av_camera_pic_size_descr">내부 카메라 사진 크기 선택</string>
<string name="announce_nearby_favorites">가까운 즐겨찾기 알리기</string>
</resources>

View file

@ -1306,7 +1306,7 @@ OsmAnd yra aktyviai tobulinama ir mūsų projektas bei jo tolesnis progresas pri
\n\t* Žemėlapio viršutiniame kairiame kampe esantis mygtukas pakeičia Meniu mygtuką \n\t* Žemėlapio viršutiniame kairiame kampe esantis mygtukas pakeičia Meniu mygtuką
</string> </string>
<string name="monitoring_settings">Sekimo paslaugos</string> <string name="monitoring_settings">Sekimo paslaugos</string>
<string name="monitoring_settings_descr">Nustatykite kaip įrašinėti maršrutus ir įjungti miego režimą</string> <string name="monitoring_settings_descr">Nustatykite kaip įrašinėti maršrutus</string>
<string name="osmand_monitoring_plugin_description">Įjunkite sekimą ir navigaciją miego režime (išjungus ekraną) periodiškai pažadinant GPC įrenginį. Koreguokite nustatymus, kurie reikalingi įrašant jūsų maršrutus į GPX failą ar sekant interneto pagalba.</string> <string name="osmand_monitoring_plugin_description">Įjunkite sekimą ir navigaciją miego režime (išjungus ekraną) periodiškai pažadinant GPC įrenginį. Koreguokite nustatymus, kurie reikalingi įrašant jūsų maršrutus į GPX failą ar sekant interneto pagalba.</string>
<string name="osmand_monitoring_plugin_name">Stebėjimo paslaugos</string> <string name="osmand_monitoring_plugin_name">Stebėjimo paslaugos</string>
<string name="choose_osmand_theme_descr">Pasirinkite išvaizdos temą</string> <string name="choose_osmand_theme_descr">Pasirinkite išvaizdos temą</string>
@ -1806,4 +1806,7 @@ OsmAnd yra aktyviai tobulinama ir mūsų projektas bei jo tolesnis progresas pri
<string name="rendering_attr_alpineHiking_name">Kalnų žygiai</string> <string name="rendering_attr_alpineHiking_name">Kalnų žygiai</string>
<string name="rendering_attr_osmcTraces_name">Padengimas žygių simboliais</string> <string name="rendering_attr_osmcTraces_name">Padengimas žygių simboliais</string>
<string name="hide_all_waypoints">Pašalinti visus</string> <string name="hide_all_waypoints">Pašalinti visus</string>
<string name="av_camera_pic_size">Nuotraukos dydis</string>
<string name="av_camera_pic_size_descr">Pasirinkti vidinės kameros nuotraukos dydį</string>
<string name="announce_nearby_favorites">Pranešti apie artimiausias įsimintinas vietas</string>
</resources> </resources>

View file

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?><resources><string name="plugins_screen">Spraudņu pārvaldnieks</string> <?xml version='1.0' encoding='utf-8'?>
<string name="select_plugin_to_activate">Atzīmējiet spraudni, lai to aktivizētu vai deaktivizētu. (Iespējams OsmAnd vajadzēs restartēt.)</string> <resources><string name="plugins_screen">Spraudņu pārvaldnieks</string>
<string name="select_plugin_to_activate">Atzīmējiet spraudni, lai to aktivizētu (varētu būt nepieciešams OsmAnd restarts)</string>
<string name="prefs_plugins_descr">Spraudņi iespējo aplikācijas papildus funkcijas un uzstādījumus kā piemēram sekošana, enerģijas taupīšana, pieejamība un daudzas citas</string> <string name="prefs_plugins_descr">Spraudņi iespējo aplikācijas papildus funkcijas un uzstādījumus kā piemēram sekošana, enerģijas taupīšana, pieejamība un daudzas citas</string>
<string name="prefs_plugins">Spraudņi</string> <string name="prefs_plugins">Spraudņi</string>
<string name="tip_recent_changes_0_8_0_t">Izmaiņas 0.8.0: <string name="tip_recent_changes_0_8_0_t">Izmaiņas 0.8.0:
@ -91,7 +92,7 @@
<string name="use_short_object_names">Lietot objektu vārdus</string> <string name="use_short_object_names">Lietot objektu vārdus</string>
<string name="accessibility_preferences_descr">Ar pieejamību saistītās izvēles</string> <string name="accessibility_preferences_descr">Ar pieejamību saistītās izvēles</string>
<string name="accessibility_preferences">Pieejamība</string> <string name="accessibility_preferences">Pieejamība</string>
<string name="rendering_out_of_memory">Nepietiek procesa atmiņas, lai attēlotu izvēlēto apgabalu</string> <string name="rendering_out_of_memory">Nepietiek atmiņas, lai attēlotu izvēlēto apgabalu</string>
<string name="use_fluorescent_overlays">Fluorescenti slāņi</string> <string name="use_fluorescent_overlays">Fluorescenti slāņi</string>
<string name="use_fluorescent_overlays_descr">Lietot flurescentās krāsas, lai attēlotu maršruta ceļus</string> <string name="use_fluorescent_overlays_descr">Lietot flurescentās krāsas, lai attēlotu maršruta ceļus</string>
<string name="offline_edition">Bezsaistes rediģēšana</string> <string name="offline_edition">Bezsaistes rediģēšana</string>
@ -184,9 +185,9 @@
<string name="choose_auto_follow_route">Automātiski centrēt karti</string> <string name="choose_auto_follow_route">Automātiski centrēt karti</string>
<string name="choose_auto_follow_route_descr">Laiks līdz karte sinhronizējas ar tekošo pozīciju</string> <string name="choose_auto_follow_route_descr">Laiks līdz karte sinhronizējas ar tekošo pozīciju</string>
<string name="auto_follow_route_never">Nekad</string> <string name="auto_follow_route_never">Nekad</string>
<string name="auto_follow_route_navigation">Autocentrēt pārvietojoties maršrutā</string> <string name="auto_follow_route_navigation">Autocentrēt maršruta laikā</string>
<string name="auto_follow_route_navigation_descr">Autocentrēt karti tikai navigācijas laikā.</string> <string name="auto_follow_route_navigation_descr">Navigācijas laikā atrodoties kustībā, automātiski centrēt karti.</string>
<string name="auto_follow_location_enabled">Autocentrēt karti uz atrašanās vietu.</string> <string name="auto_follow_location_enabled">Autocentrēt karti atrašanās vietā.</string>
<string name="pref_vector_rendering">Vektoru renderētāja opcijas</string> <string name="pref_vector_rendering">Vektoru renderētāja opcijas</string>
<string name="pref_overlay">Pārklājs / paklājs</string> <string name="pref_overlay">Pārklājs / paklājs</string>
<string name="pref_raster_map">Kartes avota uzstādījumi</string> <string name="pref_raster_map">Kartes avota uzstādījumi</string>
@ -1484,7 +1485,7 @@ Afghanistan, Albania, Algeria, Andorra, Angola, Anguilla, Antigua and Barbuda, A
<string name="routing_attr_avoid_motorway_name">Izvairīties no automaģistrālēm</string> <string name="routing_attr_avoid_motorway_name">Izvairīties no automaģistrālēm</string>
<string name="routing_attr_avoid_motorway_description">Izvairīties no automaģistrālēm jeb ātrgaitas šosejām</string> <string name="routing_attr_avoid_motorway_description">Izvairīties no automaģistrālēm jeb ātrgaitas šosejām</string>
<string name="routing_attr_weight_name">Maksimālais svars</string> <string name="routing_attr_weight_name">Maksimālais svars</string>
<string name="routing_attr_weight_description">Norādīt transporta kravas maksimālā svara robežas</string> <string name="routing_attr_weight_description">Norādīt transportlīdzekļa maksimālā svara ierobežojumus</string>
<string name="select_gpx">Atzīmēt GPX…</string> <string name="select_gpx">Atzīmēt GPX…</string>
<string name="route_descr_select_destination">Atlasīt galamērķi</string> <string name="route_descr_select_destination">Atlasīt galamērķi</string>
<string name="route_descr_select_on_map">Atzīmēt no kartes…</string> <string name="route_descr_select_on_map">Atzīmēt no kartes…</string>
@ -1591,12 +1592,8 @@ Afghanistan, Albania, Algeria, Andorra, Angola, Anguilla, Antigua and Barbuda, A
</string> </string>
<string name="osmo_settings_uuid">Ierīces identifikators</string> <string name="osmo_settings_uuid">Ierīces identifikators</string>
<string name="osmo_settings_descr">Konfigurēt monitoringa uzstādījumus un personīgo monitoringa kanālu</string> <string name="osmo_settings_descr">Konfigurēt monitoringa uzstādījumus un personīgo monitoringa kanālu</string>
<string name="osmo_plugin_description">OpenStreetMap-Monitoring - iespējām bagāts reālā laika monitorings ar attālinātu sekošanu savienotām ierīcēm. <string name="osmo_plugin_description">"Sekojiet viens otram reālajā laikā, veidojot anonīmas grupas, komunicējiet savā starpā, kopīgojiet vietas, iespējojiet patstāvīgu vai sesiju sekošanu utt., vairāk lasiet http://osmo.mobi lapā, t.sk. lai reģistrētos grupu pilnvērtīgākai darbībai (attālināta vadība un kontrole utt.). "</string>
………Izveidojiet anonīmas grupas, kopīgojiet atrašanās vietas un komunicējiet savā starpā, ar dažādiem uzstādījumiem sesijas vai patstāvīgai sekošanai. <string name="osmo_plugin_name">OsMo (tiešsaistes monitorings)</string>
……Anonīmās grupas ir ierobežotas līdz dienu skaitam un dažām iespējām, kā piemēram, nav attālinātās kontroles un grupas administratora.
……Pilnībā funkcionējošas grupas var tikt izveidotas tīmekļa lapā un tām var piekļūt tikai reģistrētie lietotāji.
……Vairāk lasiet http://osmo.mobi.</string>
<string name="osmo_plugin_name">OsMo (reālā laika monitorings)</string>
<string name="osmo_settings">OSMo OpenStreetMap Monitorings (beta)</string> <string name="osmo_settings">OSMo OpenStreetMap Monitorings (beta)</string>
<string name="tip_recent_changes_1_6_t">Izmaiņas uz 1.6: <string name="tip_recent_changes_1_6_t">Izmaiņas uz 1.6:
… …\n\t* Full HD ierīču atbalsts … …\n\t* Full HD ierīču atbalsts
@ -1623,15 +1620,15 @@ Afghanistan, Albania, Algeria, Andorra, Angola, Anguilla, Antigua and Barbuda, A
</string> </string>
<string name="interrupt_music">Pārtraukt mūziku</string> <string name="interrupt_music">Pārtraukt mūziku</string>
<string name="share_route_subject">Maršruts kopīgots caur OsmAnd</string> <string name="share_route_subject">Maršruts kopīgots caur OsmAnd</string>
<string name="arrival_distance">Atbraukšanas paziņojums</string> <string name="arrival_distance">Ierašanās paziņojums</string>
<string name="arrival_distance_descr">Kad paziņot par ierašanos galapunktā?</string> <string name="arrival_distance_descr">Kad ziņot par ierašanos galamērķī?</string>
<string name="keep_informing_never">Nekad</string> <string name="keep_informing_never">Nekad</string>
<string name="keep_informing_descr">Atkārtot navigācijas norādījumus caur regulāriem intervāliem</string> <string name="keep_informing_descr">Noteikt intervālu navigācijas norādījumu atkārtošanai</string>
<string name="keep_informing">Atkārtot navigācijas norādījumus</string> <string name="keep_informing">Atkārtot navigācijas norādījumus</string>
<string name="navigation_intent_invalid">Nepareizs formāts: %s</string> <string name="navigation_intent_invalid">Nepareizs formāts: %s</string>
<string name="interrupt_music_descr">Paziņojumu laikā pārtraukt mūzikas atskaņošanu</string> <string name="interrupt_music_descr">Paziņojumu laikā pārtraukt mūzikas atskaņošanu</string>
<string name="share_route_as_gpx">Koplietot maršrutu kā GPX failu</string> <string name="share_route_as_gpx">Koplietot maršrutu kā GPX failu</string>
<string name="osmo_io_error">Problēma ar OSMo savienojumu: </string> <string name="osmo_io_error">"OsMo savienojuma problēma: "</string>
<string name="osmo_mode_on">Apturēt OSMo sesiju</string> <string name="osmo_mode_on">Apturēt OSMo sesiju</string>
<string name="osmo_mode_off">Sākt OSMo sesiju</string> <string name="osmo_mode_off">Sākt OSMo sesiju</string>
@ -1671,7 +1668,7 @@ Afghanistan, Albania, Algeria, Andorra, Angola, Anguilla, Antigua and Barbuda, A
<string name="osmo_server_operation_failed">OsMO servera darbības kļūda</string> <string name="osmo_server_operation_failed">OsMO servera darbības kļūda</string>
<string name="osmo_activity">Osm Monitorings</string> <string name="osmo_activity">Osm Monitorings</string>
<string name="osmo_enable_tracker">Sūtīt manas atrašanās vietas</string> <string name="osmo_enable_tracker">Sūtīt manas atrašanās vietas</string>
<string name="osmo_control">OsMo ātrā pieejamība</string> <string name="osmo_control">OsMo ātrā piekļuve</string>
<string name="hours_ago">stundas atpakaļ</string> <string name="hours_ago">stundas atpakaļ</string>
<string name="minutes_ago">minūtes atpakaļ</string> <string name="minutes_ago">minūtes atpakaļ</string>
<string name="osmo_connected_devices">Savienotās ierīces</string> <string name="osmo_connected_devices">Savienotās ierīces</string>
@ -1770,4 +1767,10 @@ Afghanistan, Albania, Algeria, Andorra, Angola, Anguilla, Antigua and Barbuda, A
<string name="save_as_favorites_points">Saglabāt kā izlases grupu</string> <string name="save_as_favorites_points">Saglabāt kā izlases grupu</string>
<string name="select_destination_and_intermediate_points">Atlasīt ceļapunktus</string> <string name="select_destination_and_intermediate_points">Atlasīt ceļapunktus</string>
<string name="layer_amenity_label">Punktu nosaukumi</string> <string name="layer_amenity_label">Punktu nosaukumi</string>
<string name="arrival_distance_factor_normally">Normāli</string>
<string name="arrival_distance_factor_late">Vēlāk</string>
<string name="arrival_distance_factor_at_last">Pēdējos metros</string>
<string name="arrival_distance_factor_early">Agrāk</string>
<string name="show_zoom_buttons_navigation">Rādīt tālummaiņas pogas</string>
<string name="show_zoom_buttons_navigation_descr">Rādīt navigācijas laikā uz kartes</string>
</resources> </resources>

View file

@ -1322,6 +1322,8 @@
<string name="av_camera_focus_continuous">Постоянная фокусировка</string> <string name="av_camera_focus_continuous">Постоянная фокусировка</string>
<string name="av_photo_play_sound">Звук затвора</string> <string name="av_photo_play_sound">Звук затвора</string>
<string name="av_photo_play_sound_descr">Проигрывать звук при фотографировании</string> <string name="av_photo_play_sound_descr">Проигрывать звук при фотографировании</string>
<string name="av_camera_pic_size">Размер фото</string>
<string name="av_camera_pic_size_descr">Размер изображения для встроенного приложения фотографирования</string>
<string name="speak_speed_limit">Сообщать о превышении скорости</string> <string name="speak_speed_limit">Сообщать о превышении скорости</string>
<string name="speak_cameras">Сообщать о камерах</string> <string name="speak_cameras">Сообщать о камерах</string>
@ -1787,4 +1789,7 @@ OsmAnd - открытый источник и активно развается.
<string name="osmo_group_information_desc">" - Все созданные группы являются открытыми! Если вы хотите сохранить анонимность, подключите устройства непосредственно через ID трекера.\n - В группе могут состоять до 16 человек.\n - Если в группе не будет активным хотя бы 1 человек в течении 2-х недель группа будет удалена.\n - Вы можете ограничить вход в группу, только по приглашениям, но для управления группой вы должны войти в консоль администратора.\n - Если вам нужно создать группу, но с другими условиями, пожалуйста, свяжитесь со службой поддержки http://osmo.mobi</string> <string name="osmo_group_information_desc">" - Все созданные группы являются открытыми! Если вы хотите сохранить анонимность, подключите устройства непосредственно через ID трекера.\n - В группе могут состоять до 16 человек.\n - Если в группе не будет активным хотя бы 1 человек в течении 2-х недель группа будет удалена.\n - Вы можете ограничить вход в группу, только по приглашениям, но для управления группой вы должны войти в консоль администратора.\n - Если вам нужно создать группу, но с другими условиями, пожалуйста, свяжитесь со службой поддержки http://osmo.mobi</string>
<string name="rendering_attr_alpineHiking_name">Пеший горный туризм</string> <string name="rendering_attr_alpineHiking_name">Пеший горный туризм</string>
<string name="rendering_attr_osmcTraces_name">Наложение символов пешего туризма</string> <string name="rendering_attr_osmcTraces_name">Наложение символов пешего туризма</string>
</resources> <string name="rendering_attr_coloredBuildings_name">Цветные здания</string>
<string name="hide_all_waypoints">Удалить все</string>
<string name="announce_nearby_favorites">Объявлять ближайшие избранные</string>
</resources>

View file

@ -729,7 +729,7 @@ Si cussigiat de annànghere unu o prus puntos intermedios pro megiorare sas pres
<string name="index_name_wiki">PDI Wikipedia mondiale</string> <string name="index_name_wiki">PDI Wikipedia mondiale</string>
<string name="update_poi_is_not_available_for_zoom">S\'agiornamentu de sos PDI non est disponìbile pro livellos de zoom bassos</string> <string name="update_poi_is_not_available_for_zoom">S\'agiornamentu de sos PDI non est disponìbile pro livellos de zoom bassos</string>
<string name="tip_update_index_t">"Mapas agiorndas sunt fundamentales pro sa visione sena lìnia, pro sa chirca tramite PDI/indiritzu, e pro su nàvigu sena lìnia. OsmAnd frunidi unu gestore de sas mapas pro las isgarrigare e pro chircare pro agiornamentos. <string name="tip_update_index_t">"Mapas agiorndas sunt fundamentales pro sa visione sena lìnia, pro sa chirca tramite PDI/indiritzu, e pro su nàvigu sena lìnia. OsmAnd frunidi unu gestore de sas mapas pro las isgarrigare e pro chircare pro agiornamentos.
\n\nPro isgarrigare mapas bae in \'Impostaduras\' → \'Manage map files\' → \'Isgàrriga\'. \n\nPro isgarrigare mapas bae in \'Impostaduras\' → \'Gesti documentos mapas\' → \'Isgàrriga\'.
\n\nA pustis chi sa lista globale de sas regiones at a èssere istada isgarrigada, carca in supra de unu ogetu pro isgarrigare o carrigare unu documentu. Pro piaghere nota s\'isseberadore de tiou de documentu in sa parte arta de s\'ischermu pro ischertare su tipu de isgarrigamentu chi boles (mapas regulares, umbraduras de sos rilievos, etc.). \n\nA pustis chi sa lista globale de sas regiones at a èssere istada isgarrigada, carca in supra de unu ogetu pro isgarrigare o carrigare unu documentu. Pro piaghere nota s\'isseberadore de tiou de documentu in sa parte arta de s\'ischermu pro ischertare su tipu de isgarrigamentu chi boles (mapas regulares, umbraduras de sos rilievos, etc.).
\n\nPodes filtrare sa lista de sas regiones iscrivende carchi lètera, o ischertande s\'optzione \'Impostaduras\' → \'Filtra isgarrigadas \' pro bìere agiornamentos pro petzi sos datos chi tenes giai in su dispositivu. \n\nPodes filtrare sa lista de sas regiones iscrivende carchi lètera, o ischertande s\'optzione \'Impostaduras\' → \'Filtra isgarrigadas \' pro bìere agiornamentos pro petzi sos datos chi tenes giai in su dispositivu.
\n\n\t* Boghes in \'birde\' indicana documentos de datos identicos in su dispositivu e in su server \n\n\t* Boghes in \'birde\' indicana documentos de datos identicos in su dispositivu e in su server
@ -951,4 +951,69 @@ Si cussigiat de annànghere unu o prus puntos intermedios pro megiorare sas pres
<string name="file_with_name_already_exist">Esistit giai unu documentu cun su matessi numene.</string> <string name="file_with_name_already_exist">Esistit giai unu documentu cun su matessi numene.</string>
<string name="default_buttons_save">Sarba</string> <string name="default_buttons_save">Sarba</string>
<string name="menu_save_directions">Sarba diretziones</string> <string name="menu_save_directions">Sarba diretziones</string>
<string name="rendering_attr_coloredBuildings_name">Edifìtzios coloraos</string>
<string name="osmo_invite">Invita...</string>
<string name="osmo_leave_confirmation_msg">Boles essire dae su grupu %1$s?</string>
<string name="osmo_specify_tracker_id">Pro piaghere dislinda s\'id</string>
<string name="continue_navigation">Sighi cun su nàvigu</string>
<string name="pause_navigation">Pone in pasu su nàvigu</string>
<string name="rendering_attr_alpineHiking_name">Bisura pro alpinismu</string>
<string name="rendering_attr_alpineHiking_description">Disinna sas camineras basandeti in supra de s\'iscala SAC</string>
<string name="rendering_attr_osmcTraces_name">Istratu sìmbulos escursionisticos</string>
<string name="rendering_attr_osmcTraces_description">Disinna sas camineras sighinde sas rastas OSMC</string>
<string name="osmand_parking_delete_confirm">Boles remòvere sa positzione de sa màchina parchegiada?</string>
<string name="osmand_parking_delete">Burra su marcadore de parchègiu</string>
<string name="osmand_parking_position_description_add">Recùpera sa màchina pro sas:</string>
<string name="context_menu_item_delete_parking_point">Burra unu marcadore de parchègiu</string>
<string name="route_roundabout">Rutunda: piga sa %1$d essida e sighi</string>
<string name="rendering_attr_appMode_description">Otimizza sas mapas pro</string>
<string name="rendering_attr_contourLines_description">Ammustra dae su livellu de zoom (serbint sos datos de sas lìnias de livellu):</string>
<string name="rendering_attr_hmRendered_name">Ammustra prus minujas in sa mapa</string>
<string name="history_search_desc">Cronologia chircas</string>
<string name="download_link_and_local_description">Carcare inoghe pro iscarrigare o carrigare documentos de mapas sena lìnia.
\nCarca un\'elementu esistente pro bìdere prus minujos, carca e mantène carcau pro deativare o cantzellare. Datos currentes in su dispositivu (%1$s lìberos):</string>
<string name="index_settings_descr">Iscàrriga e gesti sas mapas sena lìnia sarbadas in su dispositivu</string>
<string name="map_online_plugin_is_not_installed">Abìlita su plugin pro sas mapas sena lìnia pro ammustrare àteras mitzas</string>
<string name="osmand_monitoring_description">Ammustra sas impostaduras pro fatzilitare sa registratzione in unu documentu GPX o in lìnia impreande uu servìtziu web.</string>
<string name="hide_all_waypoints">Burralos totus</string>
<string name="default_buttons_selectall">Ischerta totu</string>
<string name="edit_filter_delete_menu_item">Burra</string>
<string name="filter_current_poiButton">Filtru</string>
<string name="poi_dialog_comment_default">Mudadura PDI</string>
<string name="poi_dialog_other_tags_message">Totu sas etichetas sunt sarbadas</string>
<string name="poi_dialog_comment">Cummentu</string>
<string name="poi_dialog_name">Nùmene</string>
<string name="poi_error_info_not_loaded">Informatziones relatas a su nodu non carrigadas</string>
<string name="poi_error_io_error_template">Errore de I/O durante s\'esecutzione de s\'atzione {0}.</string>
<string name="poi_action_succeded_template">Atzione {0} reseddida cumpridamente.</string>
<string name="first_time_msg">Gratzias pro s\'impreu de OsmAnd. Pro meda de sas caraterìsticas de s\'àplicu tènes bisongiu de datos locales sena lìnia, chi podent èssere icarrigadas dae \'Impostaduras\'→\'Gesti sos documentos mapas\'. A pustis at a èssere possìbile ammustrare mapas, chircare indirìtzos, PDI, e agatare trasportos pùblicos.</string>
<string name="basemap_was_selected_to_download">Sa mapa de base est pedida pro su funtzionamentu curretu de s\'àplicu e est idada ischertada pro s\'iscarrigamentu.</string>
<string name="osmand_extra_settings_description">Ammustra sas impostaduras pro sa cunfiguratzione avantzada de sa mapa (comente aumentare sos minujos) e calicunas de dispositivos dislindados.</string>
<string name="osmand_development_plugin_description">Ammustra impostaduras pro funtzionalidades in isvilupu e debug comente su nàvigu animadu o ammustrare sa prestatzione de su rendering.</string>
<string name="vector_maps_may_display_faster_on_some_devices">Sas mapas vetoriales diat dèpere apàrrere in manera prus lestra. In carchi dispositivu diat podere funtzionare male.</string>
<string name="osmand_parking_warning_text">Pretzdentemente est istada annangada a su tzeravallu/calendàriu tuo sa notìfica pro recuperare sa màchina. At a abarrare finas a cando non l\'as a burrare manualmente.</string>
<string name="rendering_attr_noPolygons_description">Faghe divènnere transparentes totu sas caraterìsticas de sas àreas de su terrinu</string>
<string name="rendering_attr_hmRendered_description">Aumenta sa cantidade ammustrada de minujos de sa mapa</string>
<string name="osmand_rastermaps_plugin_description">Ammustra sas impostaduras pro cunfigurare una variedade de mapas in lìnia o a tasseddos in cache comente mapa de base pro sas mapas subrapostas/de sutafondu. Custas mapas podent èssere fintzas ammaniadas sena lìnia e copiadas in sa cartella de OsmAnd.</string>
<string name="tip_recent_changes_0_8_0_t">"Mudas in sa 0.8.0:
\n\t- *Funtzionalidade a plugin*
\n\t - Medas de sas funtzionalidades sunt afiotadas pro carateristicas e podent èssere abilitadas/disabilitadas in sas impostaduras de su plugin. Podes abilitare mitzas pro mapas a tasseddos (in lìnia o in cache), impostaduras pro s\'arrastamentu, e meda àteras funtziones noas e giai esistentes.
\n\t- *Suportu nou pro sas mapas sena lìnia*
\n\t - Su rendering de sas mapas diventada prus lestru e prus pretzisu (sos problemas pro sas lìnias de costa e sas areas allagadas sunt istados acontzados).
\n\t - Depes icarrigare totu datos sena lìnia noos (sos betzos no ant a èssere prus suportados)
\n\t- *Càlculu de s\'àndala sena lìnia*
\n\t - Su càlculu de sas àndala divènnidi prus sòlidu\n\t *Megioramentos impreabilidade e UI*
\n\t - Megioramentos in medas àreas "</string>
<string name="osm_editing_plugin_description">Ammustra sasimpostaduras netzessàrias pro cuntribuire ad OSM comente sa regorta/mudadura de sos PDI de OSM, apèrrere/cummentare errores de OSM e inviare documentos GPX registrados (rechedet sas credentziales de OSM).</string>
<string name="play_commands_of_currently_selected_voice">Riprodui sos cumandos de sa boghe como seletzionada</string>
<string name="test_voice_prompts">Proa sos cumandos vocales</string>
<string name="switch_to_raster_map_to_see">Peruna mapa vetoriale est disponìbile pro custa positzione. Ne podes iscarrigare una in Impostaduras (Gesti sos datos mapas), o colare a sas mapas in lìnia (abìlita sas mapas in lìnia pro lu fàghere).</string>
<string name="tip_recent_changes_0_7_2_t">"Mudas in sa 0.7.2:
\n\t- Disinnu nativu pro totu sos dispositivos
\n\t- Creatzione sena lìnia de sos PDI
\n\t- Atzessibilidade
\n\t- Medas curretziones de errores "</string>
<string name="support_new_features_descr">Faghe una donatzione pro tènnere funtzionalidades noas inmplementadas in s\'àplicu</string>
</resources> </resources>

View file

@ -1274,7 +1274,7 @@
<string name="street_name">Ulica</string> <string name="street_name">Ulica</string>
<string name="hno">Číslo domu</string> <string name="hno">Číslo domu</string>
<string name="monitoring_settings">Logovacie služby</string> <string name="monitoring_settings">Logovacie služby</string>
<string name="monitoring_settings_descr">Konfiguruje ako sa majú zaznamenať trasy a povoliť režim spánku</string> <string name="monitoring_settings_descr">Konfigurovať ako sa majú zaznamenať trasy</string>
<string name="osmand_monitoring_plugin_name">Logovacie služby</string> <string name="osmand_monitoring_plugin_name">Logovacie služby</string>
<string name="choose_osmand_theme_descr">Výber témy pre aplikáciu</string> <string name="choose_osmand_theme_descr">Výber témy pre aplikáciu</string>
<string name="choose_osmand_theme">Téma aplikácie</string> <string name="choose_osmand_theme">Téma aplikácie</string>
@ -1957,4 +1957,8 @@ Afganistan, Albánsko, Alžírsko, Andora, Angola, Anguilla, Antigua a Barbuda,
<string name="arrival_distance_factor_normally">Normálne</string> <string name="arrival_distance_factor_normally">Normálne</string>
<string name="arrival_distance_factor_late">Neskoro</string> <string name="arrival_distance_factor_late">Neskoro</string>
<string name="arrival_distance_factor_at_last">V posledných metroch</string> <string name="arrival_distance_factor_at_last">V posledných metroch</string>
</resources> <string name="hide_all_waypoints">Odstrániť všetky</string>
<string name="av_camera_pic_size">Veľkosť fotografie</string>
<string name="av_camera_pic_size_descr">Zvoľte veľkosť obrázka interného fotoaparátu</string>
<string name="announce_nearby_favorites">Oznamovať obľúbené miesta v blízkosti</string>
</resources>

View file

@ -1892,4 +1892,9 @@ Seznam držav (praktično ves svet!): Afganistan, Albanija, Alžirija, Andora, A
<string name="rendering_attr_alpineHiking_name">Planinski zamljevid</string> <string name="rendering_attr_alpineHiking_name">Planinski zamljevid</string>
<string name="osmo_invite">Povabite...</string> <string name="osmo_invite">Povabite...</string>
<string name="osmo_specify_tracker_id">Prosim, določite ID</string> <string name="osmo_specify_tracker_id">Prosim, določite ID</string>
</resources> <string name="arrival_distance_factor_early">Zgodaj</string>
<string name="arrival_distance_factor_normally">Običajno</string>
<string name="arrival_distance_factor_late">Pozno</string>
<string name="arrival_distance_factor_at_last">V zadnjih metrih</string>
<string name="hide_all_waypoints">Odstrani vse</string>
</resources>

View file

@ -1164,7 +1164,7 @@
<string name="street_name">Gata</string> <string name="street_name">Gata</string>
<string name="hno">Husnummer</string> <string name="hno">Husnummer</string>
<string name="osmand_monitoring_plugin_name">Loggningstjänster</string> <string name="osmand_monitoring_plugin_name">Loggningstjänster</string>
<string name="monitoring_settings_descr">Konfigurera inspelning av resa och aktivera viloläge</string> <string name="monitoring_settings_descr">Konfigurera inspelning av resa</string>
<string name="monitoring_settings">Loggningstjänster</string> <string name="monitoring_settings">Loggningstjänster</string>
<string name="tip_recent_changes_1_3_t">Ändringar i 1.3: <string name="tip_recent_changes_1_3_t">Ändringar i 1.3:
\n\t* Implementera stöd för plattor och stora skärmar \n\t* Implementera stöd för plattor och stora skärmar
@ -1603,7 +1603,7 @@
<string name="tip_map_switch_t_v2">"Kartkälla och kartlager som ska visas ändras via \'Meny\' → \'Kartlager\'.\n\nUnder \'Kartkälla...\' kan du välja mellan de förladdade offline vektorkartorna (standard, krävs också för offline-navigering), eller fördefinierade (online eller cachade offline) kartbitskällor (aktivera insticksmodulen \'Online-kartor\' under \'Inställningar\'→ \'Plugin\' för detta), eller kartor skapade manuellt med t.ex. OsmaAndMapCreator på en PC.\n\nOsmAnd stöder också egna källor. "</string> <string name="tip_map_switch_t_v2">"Kartkälla och kartlager som ska visas ändras via \'Meny\' → \'Kartlager\'.\n\nUnder \'Kartkälla...\' kan du välja mellan de förladdade offline vektorkartorna (standard, krävs också för offline-navigering), eller fördefinierade (online eller cachade offline) kartbitskällor (aktivera insticksmodulen \'Online-kartor\' under \'Inställningar\'→ \'Plugin\' för detta), eller kartor skapade manuellt med t.ex. OsmaAndMapCreator på en PC.\n\nOsmAnd stöder också egna källor. "</string>
<string name="osmo_not_signed_in">Inloggningen till OsMo misslyckades</string> <string name="osmo_not_signed_in">Inloggningen till OsMo misslyckades</string>
<string name="osmo_group_by_invite">Anslut via inbjudan</string> <string name="osmo_group_by_invite">Anslut via inbjudan</string>
<string name="osmo_group_information_desc">" - Alla skapade grupper är offentliga! Om du vill vara anonym, anslut enheter direkt via Tracker-id-\n- Upp till 16 personer kan vara registrerade i gruppen.\n- Grupper tas bort i fall av inaktivitet eller aktivitet av endast 1 person på 2 veckor.\n- Du kan begränsa inträde i grupp men för att kontrollera gruppen måste du gå till adminkonsollen.\n- Om du behöver skapa en grupp, men i övrigt kontakta http://osmo.mobi"</string> <string name="osmo_group_information_desc">" - Alla skapade grupper är offentliga! Om du vill vara anonym, anslut enheter direkt via Tracker-id-\n- Upp till 16 personer kan vara registrerade i gruppen.\n- Grupper tas bort i fall av inaktivitet eller aktivitet av endast 1 person under två veckor.\n- Du kan begränsa inträde i grupp (som t.ex. endast via inbjudan) men för att kontrollera gruppen måste du gå till adminkonsollen.\n- Om du behöver skapa en grupp med andra villkor kontakta http://osmo.mobi"</string>
<string name="osmo_group_information">Läs detta innan du skapar en grupp!</string> <string name="osmo_group_information">Läs detta innan du skapar en grupp!</string>
<string name="keep_navigation_service">Behåll</string> <string name="keep_navigation_service">Behåll</string>
<string name="stop_navigation_service">Stoppa</string> <string name="stop_navigation_service">Stoppa</string>
@ -1661,4 +1661,8 @@
<string name="arrival_distance_factor_normally">Normalt</string> <string name="arrival_distance_factor_normally">Normalt</string>
<string name="arrival_distance_factor_late">Sent</string> <string name="arrival_distance_factor_late">Sent</string>
<string name="arrival_distance_factor_at_last">De sista metrarna</string> <string name="arrival_distance_factor_at_last">De sista metrarna</string>
</resources> <string name="hide_all_waypoints">Ta bort alla</string>
<string name="av_camera_pic_size">Fotostorlek</string>
<string name="av_camera_pic_size_descr">Välj fotostorlek för intern kamera</string>
<string name="announce_nearby_favorites">Meddela om favoriter i närheten</string>
</resources>

View file

@ -1074,7 +1074,7 @@
<string name="street_name">街道</string> <string name="street_name">街道</string>
<string name="hno">門牌號碼</string> <string name="hno">門牌號碼</string>
<string name="monitoring_settings">日誌記錄服務</string> <string name="monitoring_settings">日誌記錄服務</string>
<string name="monitoring_settings_descr">組態如何記錄行程和啟用休眠模式</string> <string name="monitoring_settings_descr">組態如何記錄行程</string>
<string name="osmand_monitoring_plugin_description">透過週期性地喚醒 GPS 裝置,在休眠模式下(螢幕關閉)啟用追蹤和導航。 <string name="osmand_monitoring_plugin_description">透過週期性地喚醒 GPS 裝置,在休眠模式下(螢幕關閉)啟用追蹤和導航。
顯示設定便於去記錄您在當地的行程到裝置端 GPX 檔案或在線上使用網路服務。</string> 顯示設定便於去記錄您在當地的行程到裝置端 GPX 檔案或在線上使用網路服務。</string>
<string name="osmand_monitoring_plugin_name">日誌記錄服務</string> <string name="osmand_monitoring_plugin_name">日誌記錄服務</string>
@ -1935,4 +1935,8 @@ OsmAnd 是開放原始碼,而且正在積極的開發。應用程式從報告
<string name="arrival_distance_factor_late">稍遲</string> <string name="arrival_distance_factor_late">稍遲</string>
<string name="arrival_distance_factor_at_last">最後一米</string> <string name="arrival_distance_factor_at_last">最後一米</string>
<string name="rendering_attr_coloredBuildings_name">有色彩的建築物</string> <string name="rendering_attr_coloredBuildings_name">有色彩的建築物</string>
</resources> <string name="hide_all_waypoints">全部移除</string>
<string name="av_camera_pic_size">相機照片的大小</string>
<string name="av_camera_pic_size_descr">選擇內部相機照片的大小</string>
<string name="announce_nearby_favorites">通報在附近的我的最愛</string>
</resources>

View file

@ -490,7 +490,7 @@
\n\t* Top left button on the map screen replaces Menu button \n\t* Top left button on the map screen replaces Menu button
</string> </string>
<string name="monitoring_settings">Logging services</string> <string name="monitoring_settings">Logging services</string>
<string name="monitoring_settings_descr">Configure how to record trips and enable sleep mode</string> <string name="monitoring_settings_descr">Configure how to record trips</string>
<string name="osmand_monitoring_plugin_description">Enable tracking and navigation in sleep (screen off) mode via periodically waking up the GPS device. <string name="osmand_monitoring_plugin_description">Enable tracking and navigation in sleep (screen off) mode via periodically waking up the GPS device.
Show settings facilitating to record your trips to local GPX files or online using a web service.</string> Show settings facilitating to record your trips to local GPX files or online using a web service.</string>
<string name="osmand_monitoring_plugin_name">Logging services</string> <string name="osmand_monitoring_plugin_name">Logging services</string>
@ -1938,6 +1938,9 @@ Afghanistan, Albania, Algeria, Andorra, Angola, Anguilla, Antigua and Barbuda, A
<string name="av_camera_focus_continuous">The camera continuously tries to focus</string> <string name="av_camera_focus_continuous">The camera continuously tries to focus</string>
<string name="av_photo_play_sound">Play sound on photo shot</string> <string name="av_photo_play_sound">Play sound on photo shot</string>
<string name="av_photo_play_sound_descr">Choose whether to play a sound when shooting photos</string> <string name="av_photo_play_sound_descr">Choose whether to play a sound when shooting photos</string>
<string name="av_camera_pic_size">Camera Picture Size</string>
<string name="av_camera_pic_size_descr">Select internal camera Picture Size</string>
<string name="navigation_intent_invalid">Invalid format: %s</string> <string name="navigation_intent_invalid">Invalid format: %s</string>
<string name="hide_all_waypoints">Remove all</string> <string name="hide_all_waypoints">Remove all</string>
<string name="announce_nearby_favorites">Announce nearby favorites</string>
</resources> </resources>

View file

@ -1,16 +1,16 @@
package net.osmand.plus; package net.osmand.plus;
import java.util.ArrayList; import java.util.*;
import java.util.Arrays; import java.util.concurrent.ConcurrentHashMap;
import java.util.Iterator; import java.util.concurrent.CopyOnWriteArrayList;
import java.util.LinkedList;
import java.util.List;
import android.widget.ListView;
import net.osmand.GeoidAltitudeCorrection; import net.osmand.GeoidAltitudeCorrection;
import net.osmand.PlatformUtil; import net.osmand.PlatformUtil;
import net.osmand.access.NavigationInfo; import net.osmand.access.NavigationInfo;
import net.osmand.binary.RouteDataObject; import net.osmand.binary.RouteDataObject;
import net.osmand.data.LatLon; import net.osmand.data.LatLon;
import net.osmand.data.LocationPoint;
import net.osmand.data.QuadPoint; import net.osmand.data.QuadPoint;
import net.osmand.plus.OsmandSettings.OsmandPreference; import net.osmand.plus.OsmandSettings.OsmandPreference;
import net.osmand.plus.routing.RoutingHelper; import net.osmand.plus.routing.RoutingHelper;
@ -67,8 +67,6 @@ public class OsmAndLocationProvider implements SensorEventListener {
private float[] mGeoMags = new float[3]; private float[] mGeoMags = new float[3];
private float previousCorrectionValue = 360; private float previousCorrectionValue = 360;
private static final boolean USE_KALMAN_FILTER = true; private static final boolean USE_KALMAN_FILTER = true;
private static final float KALMAN_COEFFICIENT = 0.04f; private static final float KALMAN_COEFFICIENT = 0.04f;
@ -105,6 +103,111 @@ public class OsmAndLocationProvider implements SensorEventListener {
private OsmandPreference<Boolean> USE_MAGNETIC_FIELD_SENSOR_COMPASS; private OsmandPreference<Boolean> USE_MAGNETIC_FIELD_SENSOR_COMPASS;
private OsmandPreference<Boolean> USE_FILTER_FOR_COMPASS; private OsmandPreference<Boolean> USE_FILTER_FOR_COMPASS;
private static final int NOT_ANNOUNCED = 0;
private static final int ANNOUNCED_ONCE = 1;
private ConcurrentHashMap<LocationPoint , Integer> locationPointsStates = new ConcurrentHashMap<LocationPoint, Integer>();
private List<LocationPoint> visibleLocationPoints = new CopyOnWriteArrayList<LocationPoint>();
private long locationPointsModified;
public List<LocationPoint> getVisibleLocationPoints() {
return visibleLocationPoints;
}
public void setVisibleLocationPoints(List<LocationPoint> points) {
locationPointsStates.clear();
visibleLocationPoints.clear();
if (points == null) {
return;
}
for (LocationPoint p : points) {
locationPointsStates.put(p, NOT_ANNOUNCED);
visibleLocationPoints.add(p);
}
sortVisibleLocationPoints();
}
public void addVisibleLocationPoint(LocationPoint lp) {
this.locationPointsStates.put(lp, NOT_ANNOUNCED);
this.locationPointsModified = System.currentTimeMillis();
sortVisibleLocationPoints();
}
public void clearAllVisiblePoints() {
this.locationPointsStates.clear();
this.visibleLocationPoints.clear();
this.locationPointsModified = System.currentTimeMillis();
}
public void sortVisibleLocationPoints() {
net.osmand.Location lastLocation = getLastKnownLocation();
if (lastLocation != null) {
Object[] loc = visibleLocationPoints.toArray();
Arrays.sort(loc, getComparator(lastLocation));
visibleLocationPoints.clear();
for (Object aLoc : loc) {
visibleLocationPoints.add((LocationPoint) aLoc);
}
}
}
private Comparator<Object> getComparator(final net.osmand.Location lastLocation){
return new Comparator<Object>() {
@Override
public int compare(Object locationPoint, Object locationPoint2) {
double d1 = MapUtils.getDistance(lastLocation.getLatitude(), lastLocation.getLongitude(),
((LocationPoint)locationPoint).getLatitude(), ((LocationPoint)locationPoint).getLongitude());
double d2 = MapUtils.getDistance(lastLocation.getLatitude(), lastLocation.getLongitude(),
((LocationPoint)locationPoint2).getLatitude(), ((LocationPoint)locationPoint2).getLongitude());
return Double.compare(d1, d2);
}
};
}
public long getLocationPointsModified() {
return locationPointsModified;
}
public void removeVisibleLocationPoint(LocationPoint lp) {
this.visibleLocationPoints = removeFromList(visibleLocationPoints, lp);
this.locationPointsStates.remove(lp);
this.locationPointsModified = System.currentTimeMillis();
}
private void announceVisibleLocations() {
final net.osmand.Location lastLocation = getLastKnownLocation();
if (lastLocation != null && app.getRoutingHelper().isFollowingMode()) {
String nameToAnnounce = null;
for (LocationPoint point : locationPointsStates.keySet()) {
double d1 = MapUtils.getDistance(lastLocation.getLatitude(), lastLocation.getLongitude(),
point.getLatitude(), point.getLongitude());
int state = locationPointsStates.get(point);
if(state <= ANNOUNCED_ONCE && app.getRoutingHelper().getVoiceRouter().isDistanceLess(lastLocation.getSpeed(), d1, 150)) {
nameToAnnounce = (nameToAnnounce == null ? "" : ", ") + point.getName();
locationPointsStates.remove(point);
} else if (state == NOT_ANNOUNCED && app.getRoutingHelper().getVoiceRouter().isDistanceLess(lastLocation.getSpeed(), d1, 500)){
nameToAnnounce = (nameToAnnounce == null? "":", ")+point.getName();
locationPointsStates.put(point, state + 1);
}
}
if(nameToAnnounce!= null) {
app.getRoutingHelper().getVoiceRouter().announceWaypoint(nameToAnnounce);
}
}
}
public List<LocationPoint> removeFromList(List<LocationPoint> items, Object item){
List<LocationPoint> newArray = new ArrayList<LocationPoint>();
Object[] oldArray = items.toArray();
for (int i=0; i<oldArray.length; i++){
if (!item.equals(oldArray[i])){
newArray.add((LocationPoint)oldArray[i]);
}
}
items.clear();
return new CopyOnWriteArrayList<LocationPoint>(newArray);
}
public class SimulationProvider { public class SimulationProvider {
private int currentRoad; private int currentRoad;
@ -518,6 +621,10 @@ public class OsmAndLocationProvider implements SensorEventListener {
private void updateLocation(net.osmand.Location loc ) { private void updateLocation(net.osmand.Location loc ) {
if (app.getSettings().ANNOUNCE_NEARBY_FAVORITES.get()){
sortVisibleLocationPoints();
announceVisibleLocations();
}
for(OsmAndLocationListener l : locationListeners){ for(OsmAndLocationListener l : locationListeners){
l.updateLocation(loc); l.updateLocation(loc);
} }

View file

@ -819,7 +819,7 @@ public class OsmandSettings {
public final OsmandPreference<Boolean> GPX_SPEAK_WPT = new BooleanPreference("speak_gpx_wpt", true).makeGlobal().cache(); public final OsmandPreference<Boolean> GPX_SPEAK_WPT = new BooleanPreference("speak_gpx_wpt", true).makeGlobal().cache();
public final OsmandPreference<Boolean> GPX_ROUTE_CALC = new BooleanPreference("calc_gpx_route", false).makeGlobal().cache(); public final OsmandPreference<Boolean> GPX_ROUTE_CALC = new BooleanPreference("calc_gpx_route", false).makeGlobal().cache();
public final OsmandPreference<Boolean> ANNOUNCE_NEARBY_FAVORITES = new BooleanPreference("announce_nearby_favorites", false).makeGlobal().cache();
public final OsmandPreference<Boolean> AVOID_TOLL_ROADS = new BooleanPreference("avoid_toll_roads", false).makeProfile().cache(); public final OsmandPreference<Boolean> AVOID_TOLL_ROADS = new BooleanPreference("avoid_toll_roads", false).makeProfile().cache();
public final OsmandPreference<Boolean> AVOID_MOTORWAY = new BooleanPreference("avoid_motorway", false).makeProfile().cache(); public final OsmandPreference<Boolean> AVOID_MOTORWAY = new BooleanPreference("avoid_motorway", false).makeProfile().cache();

View file

@ -25,8 +25,6 @@ public class TargetPointsHelper {
private RoutingHelper routingHelper; private RoutingHelper routingHelper;
private List<StateChangedListener<Void>> listeners = new ArrayList<StateChangedListener<Void>>(); private List<StateChangedListener<Void>> listeners = new ArrayList<StateChangedListener<Void>>();
private OsmandApplication ctx; private OsmandApplication ctx;
private List<LocationPoint> visibleLocationPoints = new CopyOnWriteArrayList<LocationPoint>();
private long locationPointsModified;
public TargetPointsHelper(OsmandApplication ctx){ public TargetPointsHelper(OsmandApplication ctx){
this.ctx = ctx; this.ctx = ctx;
@ -69,47 +67,7 @@ public class TargetPointsHelper {
return intermediatePoints; return intermediatePoints;
} }
public List<LocationPoint> getVisibleLocationPoints() {
return visibleLocationPoints;
}
public void addVisibleLocationPoint(LocationPoint lp) {
this.visibleLocationPoints.add(lp);
this.locationPointsModified = System.currentTimeMillis();
sortVisibleLocationPoints();
}
public void removeAllVisiblePoints() {
this.locationPointsModified = System.currentTimeMillis();
visibleLocationPoints.clear();
}
public void sortVisibleLocationPoints() {
final Location lastLocation = ctx.getLocationProvider().getLastKnownLocation();
if(lastLocation != null) {
Collections.sort(this.visibleLocationPoints, new Comparator<LocationPoint>() {
@Override
public int compare(LocationPoint locationPoint, LocationPoint locationPoint2) {
double d1 = MapUtils.getDistance(lastLocation.getLatitude(), lastLocation.getLongitude(),
locationPoint.getLatitude(), locationPoint.getLongitude());
double d2 = MapUtils.getDistance(lastLocation.getLatitude(), lastLocation.getLongitude(),
locationPoint2.getLatitude(), locationPoint2.getLongitude());
return Double.compare(d1, d2);
}
});
this.locationPointsModified = System.currentTimeMillis();
}
}
public long getLocationPointsModified() {
return locationPointsModified;
}
public void removeVisibleLocationPoint(LocationPoint lp) {
this.visibleLocationPoints.remove(lp);
this.locationPointsModified = System.currentTimeMillis();
}
public List<LatLon> getIntermediatePointsWithTarget() { public List<LatLon> getIntermediatePointsWithTarget() {

View file

@ -642,6 +642,7 @@ public class MapActivityActions implements DialogProvider {
mapActivity.getMapViewTrackingUtilities().switchToRoutePlanningMode(); mapActivity.getMapViewTrackingUtilities().switchToRoutePlanningMode();
mapActivity.getMapView().refreshMap(true); mapActivity.getMapView().refreshMap(true);
mapActivity.getMapLayers().getMapControlsLayer().showDialog();
if(targets.hasTooLongDistanceToNavigate()) { if(targets.hasTooLongDistanceToNavigate()) {
app.showToastMessage(R.string.route_is_too_long); app.showToastMessage(R.string.route_is_too_long);
} }

View file

@ -113,6 +113,10 @@ public class AudioVideoNotesPlugin extends OsmandPlugin {
public static final int AV_DEFAULT_ACTION_TAKEPICTURE = 2; public static final int AV_DEFAULT_ACTION_TAKEPICTURE = 2;
public static final int AV_DEFAULT_ACTION_CHOOSE = -1; public static final int AV_DEFAULT_ACTION_CHOOSE = -1;
// camera picture size:
public static final int AV_PHOTO_SIZE_DEFAULT = -1;
public static int cameraPictureSizeDefault = 0;
// camera focus type // camera focus type
public static final int AV_CAMERA_FOCUS_AUTO = 0; public static final int AV_CAMERA_FOCUS_AUTO = 0;
public static final int AV_CAMERA_FOCUS_HIPERFOCAL = 1; public static final int AV_CAMERA_FOCUS_HIPERFOCAL = 1;
@ -124,10 +128,9 @@ public class AudioVideoNotesPlugin extends OsmandPlugin {
private static int shotId = 0; private static int shotId = 0;
private SoundPool sp = null; private SoundPool sp = null;
public final CommonPreference<Integer> AV_CAMERA_PICTURE_SIZE;
public final CommonPreference<Integer> AV_CAMERA_FOCUS_TYPE; public final CommonPreference<Integer> AV_CAMERA_FOCUS_TYPE;
public final CommonPreference<Integer> AV_DEFAULT_ACTION; public final CommonPreference<Integer> AV_DEFAULT_ACTION;
public final OsmandPreference<Boolean> SHOW_RECORDINGS; public final OsmandPreference<Boolean> SHOW_RECORDINGS;
private DataTileManager<Recording> recordings = new DataTileManager<AudioVideoNotesPlugin.Recording>(14); private DataTileManager<Recording> recordings = new DataTileManager<AudioVideoNotesPlugin.Recording>(14);
@ -341,6 +344,8 @@ public class AudioVideoNotesPlugin extends OsmandPlugin {
AV_EXTERNAL_PHOTO_CAM = settings.registerBooleanPreference("av_external_cam", true).makeGlobal(); AV_EXTERNAL_PHOTO_CAM = settings.registerBooleanPreference("av_external_cam", true).makeGlobal();
AV_VIDEO_FORMAT = settings.registerIntPreference("av_video_format", VIDEO_OUTPUT_MP4).makeGlobal(); AV_VIDEO_FORMAT = settings.registerIntPreference("av_video_format", VIDEO_OUTPUT_MP4).makeGlobal();
AV_DEFAULT_ACTION = settings.registerIntPreference("av_default_action", AV_DEFAULT_ACTION_CHOOSE).makeGlobal(); AV_DEFAULT_ACTION = settings.registerIntPreference("av_default_action", AV_DEFAULT_ACTION_CHOOSE).makeGlobal();
// camera picture size:
AV_CAMERA_PICTURE_SIZE = settings.registerIntPreference("av_camera_picture_size", AV_PHOTO_SIZE_DEFAULT).makeGlobal();
// camera focus type: // camera focus type:
AV_CAMERA_FOCUS_TYPE = settings.registerIntPreference("av_camera_focus_type", AV_CAMERA_FOCUS_AUTO).makeGlobal(); AV_CAMERA_FOCUS_TYPE = settings.registerIntPreference("av_camera_focus_type", AV_CAMERA_FOCUS_AUTO).makeGlobal();
// camera sound: // camera sound:
@ -758,8 +763,34 @@ public class AudioVideoNotesPlugin extends OsmandPlugin {
@Override @Override
public void surfaceCreated(SurfaceHolder holder) { public void surfaceCreated(SurfaceHolder holder) {
try { try {
// load sound befor shot:
if (AV_PHOTO_PLAY_SOUND.get()) {
if (sp == null)
sp = new SoundPool(5, AudioManager.STREAM_MUSIC, 0);
log.info("Play sound on photo");
if (shotId == 0) {
shotId = sp.load(app.getAssets().openFd("sounds/camera_click.ogg"), 1);
log.debug("loaded file sound ID: " + shotId);
}
}
Parameters parameters = cam.getParameters(); Parameters parameters = cam.getParameters();
// camera picture size:
List<Camera.Size> psps = parameters.getSupportedPictureSizes();
int index = AV_CAMERA_PICTURE_SIZE.get();
log.debug("takePhotoWithCamera() index=" + index );
if(index == AV_PHOTO_SIZE_DEFAULT)
{
index = cameraPictureSizeDefault;
log.debug("takePhotoWithCamera() Default value of picture size. Set index to cameraPictureSizeDefault. Now index="
+ index );
}
Camera.Size selectedCamPicSize = psps.get(index);
parameters.setPictureSize(selectedCamPicSize.width, selectedCamPicSize.height);
log.debug("takePhotoWithCamera() set Picture size: width=" + selectedCamPicSize.width
+ " height=" + selectedCamPicSize.height );
// camera focus type: // camera focus type:
boolean autofocus = true; boolean autofocus = true;
// boolean autofocus = !Boolean.parseBoolean(parameters.get("auto-exposure-lock-supported")); // boolean autofocus = !Boolean.parseBoolean(parameters.get("auto-exposure-lock-supported"));
@ -797,16 +828,6 @@ public class AudioVideoNotesPlugin extends OsmandPlugin {
// parameters.setFocusMode(Parameters.FOCUS_MODE_FIXED); // parameters.setFocusMode(Parameters.FOCUS_MODE_FIXED);
// parameters.set("auto-exposure-lock", "true"); // parameters.set("auto-exposure-lock", "true");
// } // }
// load sound befor shot:
if (AV_PHOTO_PLAY_SOUND.get()) {
if (sp == null)
sp = new SoundPool(5, AudioManager.STREAM_MUSIC, 0);
log.info("Play sound on photo");
if (shotId == 0) {
shotId = sp.load(app.getAssets().openFd("sounds/camera_click.ogg"), 1);
log.debug("loaded file sound ID: " + shotId);
}
}
parameters.setWhiteBalance(Parameters.WHITE_BALANCE_AUTO); parameters.setWhiteBalance(Parameters.WHITE_BALANCE_AUTO);
parameters.setFlashMode(Parameters.FLASH_MODE_AUTO); parameters.setFlashMode(Parameters.FLASH_MODE_AUTO);

View file

@ -6,6 +6,9 @@ import static net.osmand.plus.audionotes.AudioVideoNotesPlugin.AV_DEFAULT_ACTION
import static net.osmand.plus.audionotes.AudioVideoNotesPlugin.AV_DEFAULT_ACTION_VIDEO; import static net.osmand.plus.audionotes.AudioVideoNotesPlugin.AV_DEFAULT_ACTION_VIDEO;
import static net.osmand.plus.audionotes.AudioVideoNotesPlugin.VIDEO_OUTPUT_3GP; import static net.osmand.plus.audionotes.AudioVideoNotesPlugin.VIDEO_OUTPUT_3GP;
import static net.osmand.plus.audionotes.AudioVideoNotesPlugin.VIDEO_OUTPUT_MP4; import static net.osmand.plus.audionotes.AudioVideoNotesPlugin.VIDEO_OUTPUT_MP4;
// camera picture size:
import static net.osmand.plus.audionotes.AudioVideoNotesPlugin.cameraPictureSizeDefault;
import static net.osmand.plus.audionotes.AudioVideoNotesPlugin.AV_PHOTO_SIZE_DEFAULT;
// support camera focus select: // support camera focus select:
import static net.osmand.plus.audionotes.AudioVideoNotesPlugin.AV_CAMERA_FOCUS_AUTO; import static net.osmand.plus.audionotes.AudioVideoNotesPlugin.AV_CAMERA_FOCUS_AUTO;
import static net.osmand.plus.audionotes.AudioVideoNotesPlugin.AV_CAMERA_FOCUS_HIPERFOCAL; import static net.osmand.plus.audionotes.AudioVideoNotesPlugin.AV_CAMERA_FOCUS_HIPERFOCAL;
@ -52,10 +55,80 @@ public class SettingsAudioVideoActivity extends SettingsBaseActivity {
// camera type settings: // camera type settings:
grp.addPreference(createCheckBoxPreference(p.AV_EXTERNAL_PHOTO_CAM, R.string.av_use_external_camera, grp.addPreference(createCheckBoxPreference(p.AV_EXTERNAL_PHOTO_CAM, R.string.av_use_external_camera,
R.string.av_use_external_camera_descr)); R.string.av_use_external_camera_descr));
// focus mode settings:
// show in menu only suppoted modes:
Parameters parameters = cam.getParameters(); Parameters parameters = cam.getParameters();
// Photo picture size
// get supported sizes:
List<Camera.Size> psps = parameters.getSupportedPictureSizes();
// list of megapixels of each resolution:
List<Integer> mpix = new ArrayList<Integer>();
// list of index each resolution in list, returned by getSupportedPictureSizes():
List<Integer> picSizesValues = new ArrayList<Integer>();
// fill lists for sort:
for (int index = 0; index < psps.size(); index++) {
mpix.add( (psps.get(index)).width*(psps.get(index)).height );
picSizesValues.add(index);
}
// sort list for max resolution in begining of list:
for (int i=0; i < mpix.size(); i++ )
{
for (int j=0; j < mpix.size() - i - 1; j++ )
{
if ( mpix.get(j) < mpix.get( j + 1 ) )
{
// change elements:
int tmp=mpix.get( j + 1 );
mpix.set( j + 1, mpix.get( j ) );
mpix.set( j, tmp );
tmp=picSizesValues.get( j + 1 );
picSizesValues.set( j + 1, picSizesValues.get( j ) );
picSizesValues.set( j, tmp );
}
}
}
// set default photo size to max resolution (set index of element with max resolution in List, returned by getSupportedPictureSizes() ):
cameraPictureSizeDefault = picSizesValues.get(0);
log.debug("onCreate() set cameraPictureSizeDefault=" + cameraPictureSizeDefault);
List<String> itemsPicSizes = new ArrayList<String>();
String prefix;
for (int index = 0; index < psps.size(); index++) {
float px=(float)((psps.get( picSizesValues.get(index) )).width*(psps.get( picSizesValues.get(index) )).height);
if(px>102400) // 100 K
{
px=px/1048576;
prefix="Mpx";
}
else
{
px=px/1024;
prefix="Kpx";
}
itemsPicSizes.add( (psps.get( picSizesValues.get(index) )).width +
"x" +
(psps.get( picSizesValues.get(index) )).height +
" ( " +
String.format("%.2f", px ) +
" " +
prefix +
" )");
}
log.debug("onCreate() set default size: width=" + psps.get( cameraPictureSizeDefault ).width + " height="
+ psps.get( cameraPictureSizeDefault ).height + " index in ps=" + cameraPictureSizeDefault );
entries = itemsPicSizes.toArray(new String[itemsPicSizes.size()]);
intValues = picSizesValues.toArray(new Integer[picSizesValues.size()]);
if (entries.length > 0) {
ListPreference camSizes = createListPreference(p.AV_CAMERA_PICTURE_SIZE, entries, intValues, R.string.av_camera_pic_size,
R.string.av_camera_pic_size_descr);
grp.addPreference(camSizes);
}
// focus mode settings:
// show in menu only suppoted modes:
List<String> sfm = parameters.getSupportedFocusModes(); List<String> sfm = parameters.getSupportedFocusModes();
List<String> items = new ArrayList<String>(); List<String> items = new ArrayList<String>();
List<Integer> itemsValues = new ArrayList<Integer>(); List<Integer> itemsValues = new ArrayList<Integer>();
@ -88,9 +161,11 @@ public class SettingsAudioVideoActivity extends SettingsBaseActivity {
R.string.av_camera_focus_descr); R.string.av_camera_focus_descr);
grp.addPreference(camFocus); grp.addPreference(camFocus);
} }
// play sound on success photo: // play sound on success photo:
grp.addPreference(createCheckBoxPreference(p.AV_PHOTO_PLAY_SOUND, R.string.av_photo_play_sound, grp.addPreference(createCheckBoxPreference(p.AV_PHOTO_PLAY_SOUND, R.string.av_photo_play_sound,
R.string.av_photo_play_sound_descr)); R.string.av_photo_play_sound_descr));
cam.release(); cam.release();
} }
// video settings: // video settings:

View file

@ -32,15 +32,14 @@ public class RouteCalculationResult {
private final List<RouteDirectionInfo> directions; private final List<RouteDirectionInfo> directions;
private final List<RouteSegmentResult> segments; private final List<RouteSegmentResult> segments;
private final List<AlarmInfo> alarmInfo; private final List<AlarmInfo> alarmInfo;
private final List<LocationPoint> waypoints;
private final String errorMessage; private final String errorMessage;
private final int[] listDistance; private final int[] listDistance;
private final int[] intermediatePoints; private final int[] intermediatePoints;
private final int[] waypointIndexes;
private final float routingTime; private final float routingTime;
protected int cacheCurrentTextDirectionInfo = -1; protected int cacheCurrentTextDirectionInfo = -1;
protected List<RouteDirectionInfo> cacheAgreggatedDirections; protected List<RouteDirectionInfo> cacheAgreggatedDirections;
protected List<LocationPoint> locationPoints = new ArrayList<LocationPoint>();
// Note always currentRoute > get(currentDirectionInfo).routeOffset, // Note always currentRoute > get(currentDirectionInfo).routeOffset,
// but currentRoute <= get(currentDirectionInfo+1).routeOffset // but currentRoute <= get(currentDirectionInfo+1).routeOffset
@ -60,12 +59,9 @@ public class RouteCalculationResult {
this.listDistance = new int[0]; this.listDistance = new int[0];
this.directions = new ArrayList<RouteDirectionInfo>(); this.directions = new ArrayList<RouteDirectionInfo>();
this.alarmInfo = new ArrayList<AlarmInfo>(); this.alarmInfo = new ArrayList<AlarmInfo>();
this.waypointIndexes = new int[0];
this.waypoints = new ArrayList<LocationPoint>();
} }
public RouteCalculationResult(List<Location> list, List<RouteDirectionInfo> directions, RouteCalculationParams params, public RouteCalculationResult(List<Location> list, List<RouteDirectionInfo> directions, RouteCalculationParams params) {
DataTileManager<? extends LocationPoint> waypointsTm) {
this.routingTime = 0; this.routingTime = 0;
this.errorMessage = null; this.errorMessage = null;
this.intermediatePoints = new int[params.intermediates == null ? 0 : params.intermediates.size()]; this.intermediatePoints = new int[params.intermediates == null ? 0 : params.intermediates.size()];
@ -91,13 +87,14 @@ public class RouteCalculationResult {
calculateIntermediateIndexes(params.ctx, this.locations, params.intermediates, localDirections, this.intermediatePoints); calculateIntermediateIndexes(params.ctx, this.locations, params.intermediates, localDirections, this.intermediatePoints);
this.directions = Collections.unmodifiableList(localDirections); this.directions = Collections.unmodifiableList(localDirections);
updateDirectionsTime(this.directions, this.listDistance); updateDirectionsTime(this.directions, this.listDistance);
this.waypoints = new ArrayList<LocationPoint>();
this.waypointIndexes = calculateWaypointIndexes(list, waypointsTm, waypoints);
} }
public RouteCalculationResult(List<RouteSegmentResult> list, Location start, LatLon end, List<LatLon> intermediates, public RouteCalculationResult(List<RouteSegmentResult> list, Location start, LatLon end, List<LatLon> intermediates,
Context ctx, boolean leftSide, float routingTime,DataTileManager<LocationPoint> waypointsTm) { Context ctx, boolean leftSide, float routingTime, List<LocationPoint> waypoints) {
this.routingTime = routingTime; this.routingTime = routingTime;
if(waypoints != null) {
this.locationPoints.addAll(waypoints);
}
List<RouteDirectionInfo> computeDirections = new ArrayList<RouteDirectionInfo>(); List<RouteDirectionInfo> computeDirections = new ArrayList<RouteDirectionInfo>();
this.errorMessage = null; this.errorMessage = null;
this.intermediatePoints = new int[intermediates == null ? 0 : intermediates.size()]; this.intermediatePoints = new int[intermediates == null ? 0 : intermediates.size()];
@ -115,34 +112,10 @@ public class RouteCalculationResult {
this.directions = Collections.unmodifiableList(computeDirections); this.directions = Collections.unmodifiableList(computeDirections);
updateDirectionsTime(this.directions, this.listDistance); updateDirectionsTime(this.directions, this.listDistance);
this.alarmInfo = Collections.unmodifiableList(alarms); this.alarmInfo = Collections.unmodifiableList(alarms);
this.waypoints = new ArrayList<LocationPoint>();
this.waypointIndexes = calculateWaypointIndexes(this.locations, waypointsTm, waypoints);
} }
public List<LocationPoint> getWaypointsToAnnounce(Location loc) { public List<LocationPoint> getLocationPoints() {
if (currentWaypointGPX != lastWaypointGPX && loc != null) { return locationPoints;
ArrayList<LocationPoint> points = new ArrayList<LocationPoint>();
Location next = locations.get(currentRoute);
float dist = loc.distanceTo(next);
while (currentWaypointGPX < lastWaypointGPX) {
WptPt w = (WptPt) waypoints.get(currentWaypointGPX);
if(MapUtils.getDistance(w.lat, w.lon, next.getLatitude(), next.getLongitude()) > dist + 50) {
currentWaypointGPX++;
} else {
break;
}
}
while (currentWaypointGPX < lastWaypointGPX) {
WptPt w = (WptPt) waypoints.get(currentWaypointGPX);
if(MapUtils.getDistance(w.lat, w.lon, loc.getLatitude(), next.getLongitude()) < 60) {
currentWaypointGPX++;
points.add(w);
}
}
return points;
}
return Collections.emptyList();
} }
private static void calculateIntermediateIndexes(Context ctx, List<Location> locations, private static void calculateIntermediateIndexes(Context ctx, List<Location> locations,
@ -758,9 +731,6 @@ public class RouteCalculationResult {
while (nextAlarmInfo < alarmInfo.size() && alarmInfo.get(nextAlarmInfo).locationIndex < currentRoute) { while (nextAlarmInfo < alarmInfo.size() && alarmInfo.get(nextAlarmInfo).locationIndex < currentRoute) {
nextAlarmInfo++; nextAlarmInfo++;
} }
while(lastWaypointGPX < waypointIndexes.length && waypointIndexes[lastWaypointGPX] <= currentRoute) {
lastWaypointGPX++;
}
while(nextIntermediate < intermediatePoints.length) { while(nextIntermediate < intermediatePoints.length) {
RouteDirectionInfo dir = directions.get(intermediatePoints[nextIntermediate]); RouteDirectionInfo dir = directions.get(intermediatePoints[nextIntermediate]);
if(dir.routePointOffset < currentRoute) { if(dir.routePointOffset < currentRoute) {

View file

@ -29,6 +29,7 @@ import net.osmand.binary.BinaryMapIndexReader;
import net.osmand.data.DataTileManager; import net.osmand.data.DataTileManager;
import net.osmand.data.FavouritePoint; import net.osmand.data.FavouritePoint;
import net.osmand.data.LatLon; import net.osmand.data.LatLon;
import net.osmand.data.LocationPoint;
import net.osmand.plus.ApplicationMode; import net.osmand.plus.ApplicationMode;
import net.osmand.plus.GPXUtilities; import net.osmand.plus.GPXUtilities;
import net.osmand.plus.GPXUtilities.GPXFile; import net.osmand.plus.GPXUtilities.GPXFile;
@ -203,11 +204,11 @@ public class RouteProvider {
public static class GPXRouteParams { public static class GPXRouteParams {
List<Location> points = new ArrayList<Location>(); List<Location> points = new ArrayList<Location>();
List<RouteDirectionInfo> directions; List<RouteDirectionInfo> directions;
DataTileManager<WptPt> wpt;
boolean calculateOsmAndRoute; boolean calculateOsmAndRoute;
boolean passWholeRoute; boolean passWholeRoute;
boolean calculateOsmAndRouteParts; boolean calculateOsmAndRouteParts;
boolean useIntermediatePointsRTE; boolean useIntermediatePointsRTE;
private List<LocationPoint> wpt;
public List<Location> getPoints() { public List<Location> getPoints() {
return points; return points;
@ -244,6 +245,9 @@ public class RouteProvider {
useIntermediatePointsRTE = builder.useIntermediatePointsRTE; useIntermediatePointsRTE = builder.useIntermediatePointsRTE;
boolean announceWaypoints = builder.announceWaypoints; boolean announceWaypoints = builder.announceWaypoints;
builder.calculateOsmAndRoute = false; // Disabled temporary builder.calculateOsmAndRoute; builder.calculateOsmAndRoute = false; // Disabled temporary builder.calculateOsmAndRoute;
if(announceWaypoints && !file.points.isEmpty()) {
wpt = new ArrayList<LocationPoint>(file.points );
}
if(file.isCloudmadeRouteFile() || OSMAND_ROUTER.equals(file.author)){ if(file.isCloudmadeRouteFile() || OSMAND_ROUTER.equals(file.author)){
directions = parseOsmAndGPXRoute(points, file, OSMAND_ROUTER.equals(file.author), builder.leftSide, 10); directions = parseOsmAndGPXRoute(points, file, OSMAND_ROUTER.equals(file.author), builder.leftSide, 10);
if(reverse){ if(reverse){
@ -273,14 +277,6 @@ public class RouteProvider {
Collections.reverse(points); Collections.reverse(points);
} }
} }
wpt = null;
if(announceWaypoints && !file.points.isEmpty()) {
wpt = new DataTileManager<WptPt>(17);
for(WptPt w : file.points ) {
wpt.registerObjectXY(MapUtils.get31TileNumberX(w.lon),
MapUtils.get31TileNumberY(w.lat),w) ;
}
}
return this; return this;
} }
@ -358,7 +354,7 @@ public class RouteProvider {
locs = findStartAndEndLocationsFromRoute(locs, params.start, params.end, startI, endI); locs = findStartAndEndLocationsFromRoute(locs, params.start, params.end, startI, endI);
List<RouteDirectionInfo> directions = calcDirections(startI, endI, rcr.getRouteDirections()); List<RouteDirectionInfo> directions = calcDirections(startI, endI, rcr.getRouteDirections());
insertInitialSegment(params, locs, directions, true); insertInitialSegment(params, locs, directions, true);
res = new RouteCalculationResult(locs, directions, params, null); res = new RouteCalculationResult(locs, directions, params);
} catch (RuntimeException e) { } catch (RuntimeException e) {
e.printStackTrace(); e.printStackTrace();
} }
@ -392,7 +388,7 @@ public class RouteProvider {
info.distance = 0; info.distance = 0;
info.afterLeftTime = 0; info.afterLeftTime = 0;
} }
RouteCalculationResult res = new RouteCalculationResult(gpxRoute, gpxDirections, routeParams, gpxParams.wpt); RouteCalculationResult res = new RouteCalculationResult(gpxRoute, gpxDirections, routeParams);
return res; return res;
} }
@ -626,7 +622,7 @@ public class RouteProvider {
} }
} }
params.intermediates = null; params.intermediates = null;
return new RouteCalculationResult(res, null, params, null); return new RouteCalculationResult(res, null, params);
} }
protected RouteCalculationResult findVectorMapsRoute(final RouteCalculationParams params, boolean calcGPXRoute) throws IOException { protected RouteCalculationResult findVectorMapsRoute(final RouteCalculationParams params, boolean calcGPXRoute) throws IOException {
@ -777,13 +773,8 @@ public class RouteProvider {
// something really strange better to see that message on the scren // something really strange better to see that message on the scren
return emptyResult(); return emptyResult();
} else { } else {
DataTileManager mngr = new DataTileManager<Object>(17);
List<FavouritePoint> points = params.ctx.getFavorites().getFavouritePoints();
for(FavouritePoint point : points){
mngr.registerObject(point.getLatitude(), point.getLongitude(), point);
}
RouteCalculationResult res = new RouteCalculationResult(result, params.start, params.end, RouteCalculationResult res = new RouteCalculationResult(result, params.start, params.end,
params.intermediates, params.ctx, params.leftSide, ctx.routingTime, mngr); params.intermediates, params.ctx, params.leftSide, ctx.routingTime, params.gpxRoute == null? null: params.gpxRoute.wpt);
return res; return res;
} }
} catch (RuntimeException e) { } catch (RuntimeException e) {
@ -1000,7 +991,7 @@ public class RouteProvider {
} }
} }
params.intermediates = null; params.intermediates = null;
return new RouteCalculationResult(res, null, params, null); return new RouteCalculationResult(res, null, params);
} }
public GPXFile createOsmandRouterGPX(RouteCalculationResult srcRoute, OsmandApplication ctx){ public GPXFile createOsmandRouterGPX(RouteCalculationResult srcRoute, OsmandApplication ctx){
@ -1145,7 +1136,7 @@ public class RouteProvider {
res.add(createLocation(pt)); res.add(createLocation(pt));
} }
params.intermediates = null; params.intermediates = null;
return new RouteCalculationResult(res, null, params, null); return new RouteCalculationResult(res, null, params);
} }
@ -1221,7 +1212,7 @@ public class RouteProvider {
} catch (Exception e) { } catch (Exception e) {
return new RouteCalculationResult("Exception calling BRouter: " + e); //$NON-NLS-1$ return new RouteCalculationResult("Exception calling BRouter: " + e); //$NON-NLS-1$
} }
return new RouteCalculationResult(res, null, params, null); return new RouteCalculationResult(res, null, params);
} }
private RouteCalculationResult findStraightRoute(RouteCalculationParams params) { private RouteCalculationResult findStraightRoute(RouteCalculationParams params) {
@ -1247,7 +1238,7 @@ public class RouteProvider {
location.setLatitude(lats[1]); location.setLatitude(lats[1]);
location.setLongitude(lons[1]); location.setLongitude(lons[1]);
dots.add(location); dots.add(location);
return new RouteCalculationResult(dots,null,params,null); return new RouteCalculationResult(dots,null,params);
} }
} }

View file

@ -13,7 +13,6 @@ import net.osmand.data.LatLon;
import net.osmand.data.LocationPoint; import net.osmand.data.LocationPoint;
import net.osmand.plus.ApplicationMode; import net.osmand.plus.ApplicationMode;
import net.osmand.plus.GPXUtilities.GPXFile; import net.osmand.plus.GPXUtilities.GPXFile;
import net.osmand.plus.GPXUtilities.WptPt;
import net.osmand.plus.NavigationService; import net.osmand.plus.NavigationService;
import net.osmand.plus.OsmAndFormatter; import net.osmand.plus.OsmAndFormatter;
import net.osmand.plus.OsmandApplication; import net.osmand.plus.OsmandApplication;
@ -27,7 +26,6 @@ import net.osmand.plus.routing.AlarmInfo.AlarmInfoType;
import net.osmand.plus.routing.RouteCalculationResult.NextDirectionInfo; import net.osmand.plus.routing.RouteCalculationResult.NextDirectionInfo;
import net.osmand.plus.routing.RouteProvider.GPXRouteParamsBuilder; import net.osmand.plus.routing.RouteProvider.GPXRouteParamsBuilder;
import net.osmand.plus.routing.RouteProvider.RouteService; import net.osmand.plus.routing.RouteProvider.RouteService;
import net.osmand.plus.sherpafy.WaypointDialogHelper;
import net.osmand.plus.voice.CommandPlayer; import net.osmand.plus.voice.CommandPlayer;
import net.osmand.router.RouteCalculationProgress; import net.osmand.router.RouteCalculationProgress;
import net.osmand.router.RouteSegmentResult; import net.osmand.router.RouteSegmentResult;
@ -277,7 +275,6 @@ public class RoutingHelper {
// 5. Update Voice router // 5. Update Voice router
if (isFollowingMode) { if (isFollowingMode) {
// don't update in route planing mode // don't update in route planing mode
announceGpxWaypoints(currentLocation);
boolean inRecalc = calculateRoute || isRouteBeingCalculated(); boolean inRecalc = calculateRoute || isRouteBeingCalculated();
if (!inRecalc && !wrongMovementDirection) { if (!inRecalc && !wrongMovementDirection) {
voiceRouter.updateStatus(currentLocation, false); voiceRouter.updateStatus(currentLocation, false);
@ -324,25 +321,6 @@ public class RoutingHelper {
} }
} }
private void announceGpxWaypoints(Location currentLocation) {
if (currentLocation != null) {
List<LocationPoint> wpt = route.getWaypointsToAnnounce(currentLocation);
if (wpt.size() > 0) {
String s = "";
for (LocationPoint w : wpt) {
if(!Algorithms.isEmpty(w.getName())) {
s = w.getName() +",";
}
}
if(!Algorithms.isEmpty(s)) {
voiceRouter.announceWaypoint(s);
// dialogHelper.addWptDialog(wpt.get(0));
}
}
}
}
private static double getOrthogonalDistance(Location loc, Location from, Location to) { private static double getOrthogonalDistance(Location loc, Location from, Location to) {
return MapUtils.getOrthogonalDistance(loc.getLatitude(), return MapUtils.getOrthogonalDistance(loc.getLatitude(),
loc.getLongitude(), from.getLatitude(), from.getLongitude(), loc.getLongitude(), from.getLatitude(), from.getLongitude(),
@ -544,6 +522,12 @@ public class RoutingHelper {
} }
private synchronized void setNewRoute(RouteCalculationResult res, Location start){ private synchronized void setNewRoute(RouteCalculationResult res, Location start){
ArrayList<LocationPoint> locationPoints = new ArrayList<LocationPoint>();
if (app.getSettings().ANNOUNCE_NEARBY_FAVORITES.get()){
locationPoints.addAll(app.getFavorites().getFavouritePoints());
}
locationPoints.addAll(res.getLocationPoints());
app.getLocationProvider().setVisibleLocationPoints(locationPoints);
final boolean newRoute = !this.route.isCalculated(); final boolean newRoute = !this.route.isCalculated();
route = res; route = res;
if (isFollowingMode) { if (isFollowingMode) {

View file

@ -154,7 +154,7 @@ public class VoiceRouter {
} }
} }
protected boolean isDistanceLess(float currentSpeed, double dist, double etalon){ public boolean isDistanceLess(float currentSpeed, double dist, double etalon){
if(currentSpeed <= 0) { if(currentSpeed <= 0) {
currentSpeed = DEFAULT_SPEED; currentSpeed = DEFAULT_SPEED;
} }

View file

@ -1,7 +1,6 @@
package net.osmand.plus.sherpafy; package net.osmand.plus.sherpafy;
import android.app.AlertDialog; import android.app.AlertDialog;
import android.app.Dialog;
import android.content.Context; import android.content.Context;
import android.content.DialogInterface; import android.content.DialogInterface;
import android.content.Intent; import android.content.Intent;
@ -17,7 +16,6 @@ import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.*; import android.widget.*;
import net.osmand.Location; import net.osmand.Location;
import net.osmand.data.LatLon;
import net.osmand.data.LocationPoint; import net.osmand.data.LocationPoint;
import net.osmand.plus.*; import net.osmand.plus.*;
import net.osmand.plus.activities.FavouritesActivity; import net.osmand.plus.activities.FavouritesActivity;
@ -35,7 +33,7 @@ public class WaypointDialogHelper {
private MapActivity mapActivity; private MapActivity mapActivity;
private OsmandApplication app; private OsmandApplication app;
private FrameLayout mainLayout; private FrameLayout mainLayout;
private TargetPointsHelper targetPointsHelper; private OsmAndLocationProvider locationProvider;
public static boolean OVERLAP_LAYOUT = true; public static boolean OVERLAP_LAYOUT = true;
private long uiModified; private long uiModified;
@ -43,14 +41,14 @@ public class WaypointDialogHelper {
public WaypointDialogHelper(MapActivity mapActivity) { public WaypointDialogHelper(MapActivity mapActivity) {
this.app = mapActivity.getMyApplication(); this.app = mapActivity.getMyApplication();
targetPointsHelper = this.app.getTargetPointsHelper(); locationProvider = this.app.getLocationProvider();
this.mapActivity = mapActivity; this.mapActivity = mapActivity;
this.mainLayout = (FrameLayout) ((FrameLayout) mapActivity.getLayout()).getChildAt(0); this.mainLayout = (FrameLayout) ((FrameLayout) mapActivity.getLayout()).getChildAt(0);
} }
public void updateDialog() { public void updateDialog() {
List<LocationPoint> vlp = targetPointsHelper.getVisibleLocationPoints(); List<LocationPoint> vlp = locationProvider.getVisibleLocationPoints();
long locationPointsModified = targetPointsHelper.getLocationPointsModified(); long locationPointsModified = locationProvider.getLocationPointsModified();
if (locationPointsModified != uiModified) { if (locationPointsModified != uiModified) {
uiModified = locationPointsModified; uiModified = locationPointsModified;
if (vlp.isEmpty()) { if (vlp.isEmpty()) {
@ -80,7 +78,7 @@ public class WaypointDialogHelper {
btnN.setOnClickListener(new View.OnClickListener() { btnN.setOnClickListener(new View.OnClickListener() {
@Override @Override
public void onClick(View view) { public void onClick(View view) {
targetPointsHelper.removeVisibleLocationPoint(point); locationProvider.removeVisibleLocationPoint(point);
updateDialog(); updateDialog();
} }
}); });
@ -189,7 +187,7 @@ public class WaypointDialogHelper {
} }
public void showAllDialog(){ public void showAllDialog(){
final List<LocationPoint> visibleLocationPoints = targetPointsHelper.getVisibleLocationPoints(); final List<LocationPoint> visibleLocationPoints = locationProvider.getVisibleLocationPoints();
final ArrayAdapter<LocationPoint> listAdapter = new ArrayAdapter<LocationPoint>(mapActivity, R.layout.waypoint_reached, R.id.title, final ArrayAdapter<LocationPoint> listAdapter = new ArrayAdapter<LocationPoint>(mapActivity, R.layout.waypoint_reached, R.id.title,
visibleLocationPoints) { visibleLocationPoints) {
@Override @Override
@ -205,6 +203,13 @@ public class WaypointDialogHelper {
v.findViewById(R.id.waypoint_icon).setLayoutParams(ll); v.findViewById(R.id.waypoint_icon).setLayoutParams(ll);
} }
createView(v, getItem(position)); createView(v, getItem(position));
TextView text = (TextView) v.findViewById(R.id.waypoint_text);
text.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
showOnMap(visibleLocationPoints.get(position));
}
});
View remove = v.findViewById(R.id.info_close); View remove = v.findViewById(R.id.info_close);
((ImageButton) remove).setImageDrawable(mapActivity.getResources().getDrawable( ((ImageButton) remove).setImageDrawable(mapActivity.getResources().getDrawable(
@ -213,9 +218,9 @@ public class WaypointDialogHelper {
remove.setOnClickListener(new View.OnClickListener() { remove.setOnClickListener(new View.OnClickListener() {
@Override @Override
public void onClick(View view) { public void onClick(View view) {
LocationPoint point = targetPointsHelper.getVisibleLocationPoints().get(position); LocationPoint point = locationProvider.getVisibleLocationPoints().get(position);
remove(point); remove(point);
targetPointsHelper.removeVisibleLocationPoint(point); locationProvider.removeVisibleLocationPoint(point);
notifyDataSetChanged(); notifyDataSetChanged();
} }
}); });
@ -229,7 +234,7 @@ public class WaypointDialogHelper {
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override @Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
itemClick(visibleLocationPoints.get(i)); showOnMap(visibleLocationPoints.get(i));
} }
}); });
@ -242,10 +247,18 @@ public class WaypointDialogHelper {
builder.setNegativeButton(mapActivity.getString(R.string.hide_all_waypoints), new DialogInterface.OnClickListener() { builder.setNegativeButton(mapActivity.getString(R.string.hide_all_waypoints), new DialogInterface.OnClickListener() {
@Override @Override
public void onClick(DialogInterface dialogInterface, int i) { public void onClick(DialogInterface dialogInterface, int i) {
targetPointsHelper.removeAllVisiblePoints(); locationProvider.clearAllVisiblePoints();
updateDialog(); updateDialog();
} }
}); });
builder.show(); builder.show();
} }
private void showOnMap(LocationPoint locationPoint) {
// AnimateDraggingMapThread thread = mapActivity.getMapView().getAnimatedDraggingThread();
int fZoom = mapActivity.getMapView().getZoom() < 15 ? 15 : mapActivity.getMapView().getZoom();
// thread.startMoving(pointToNavigate.getLatitude(), pointToNavigate.getLongitude(), fZoom, true);
mapActivity.getMapView().setIntZoom(fZoom);
mapActivity.getMapView().setLatLon(locationPoint.getLatitude(), locationPoint.getLongitude());
}
} }

View file

@ -320,6 +320,10 @@ public class MapControlsLayer extends OsmandMapLayer {
} }
} }
public void showDialog(){
mapInfoNavigationControl.setShowDialog();
}
public WaypointDialogHelper getWaypointDialogHelper() { public WaypointDialogHelper getWaypointDialogHelper() {
return waypointDialogHelper; return waypointDialogHelper;
} }

View file

@ -208,4 +208,8 @@ public abstract class MapControls {
public void setExtraVerticalMargin(int extraVerticalMargin) { public void setExtraVerticalMargin(int extraVerticalMargin) {
this.extraVerticalMargin = extraVerticalMargin; this.extraVerticalMargin = extraVerticalMargin;
} }
public int getExtraVerticalMargin() {
return this.extraVerticalMargin;
}
} }

View file

@ -3,6 +3,9 @@ package net.osmand.plus.views.controls;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import android.graphics.Point;
import android.os.SystemClock;
import android.view.*;
import net.osmand.data.FavouritePoint; import net.osmand.data.FavouritePoint;
import net.osmand.data.LatLon; import net.osmand.data.LatLon;
import net.osmand.data.RotatedTileBox; import net.osmand.data.RotatedTileBox;
@ -31,10 +34,6 @@ import android.graphics.Canvas;
import android.graphics.PointF; import android.graphics.PointF;
import android.graphics.drawable.Drawable; import android.graphics.drawable.Drawable;
import android.os.Handler; import android.os.Handler;
import android.view.Gravity;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.AdapterView; import android.widget.AdapterView;
import android.widget.ArrayAdapter; import android.widget.ArrayAdapter;
import android.widget.Button; import android.widget.Button;
@ -57,6 +56,7 @@ public class MapRouteInfoControl extends MapControls implements IRouteInformatio
private boolean selectFromMapTouch; private boolean selectFromMapTouch;
private boolean selectFromMapForTarget; private boolean selectFromMapForTarget;
private boolean showDialog = false;
public MapRouteInfoControl(ContextMenuLayer contextMenu, public MapRouteInfoControl(ContextMenuLayer contextMenu,
MapActivity mapActivity, Handler showUIHandler, float scaleCoefficient) { MapActivity mapActivity, Handler showUIHandler, float scaleCoefficient) {
@ -86,6 +86,10 @@ public class MapRouteInfoControl extends MapControls implements IRouteInformatio
@Override @Override
public void showControls(FrameLayout parent) { public void showControls(FrameLayout parent) {
infoButton = addButton(parent, R.string.route_info, R.drawable.map_btn_signpost); infoButton = addButton(parent, R.string.route_info, R.drawable.map_btn_signpost);
if (showDialog){
showDialog();
showDialog = false;
}
controlVisible = true; controlVisible = true;
infoButton.setOnClickListener(new View.OnClickListener() { infoButton.setOnClickListener(new View.OnClickListener() {
@Override @Override
@ -98,9 +102,6 @@ public class MapRouteInfoControl extends MapControls implements IRouteInformatio
} }
} }
}); });
if(getTargets().getPointToNavigate() == null) {
showDialog();
}
} }
private Dialog createDialog() { private Dialog createDialog() {
@ -131,7 +132,7 @@ public class MapRouteInfoControl extends MapControls implements IRouteInformatio
lp.width = WindowManager.LayoutParams.WRAP_CONTENT; lp.width = WindowManager.LayoutParams.WRAP_CONTENT;
lp.height = WindowManager.LayoutParams.WRAP_CONTENT; lp.height = WindowManager.LayoutParams.WRAP_CONTENT;
lp.gravity = Gravity.BOTTOM; lp.gravity = Gravity.BOTTOM;
lp.y = (int) (infoButton.getBottom() - infoButton.getTop() + scaleCoefficient * 5); lp.y = (int) (infoButton.getBottom() - infoButton.getTop() + scaleCoefficient * 5 + getExtraVerticalMargin());
dialog.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND); dialog.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
dialog.getWindow().requestFeature(Window.FEATURE_NO_TITLE); dialog.getWindow().requestFeature(Window.FEATURE_NO_TITLE);
dialog.getWindow().setAttributes(lp); dialog.getWindow().setAttributes(lp);
@ -456,4 +457,8 @@ public class MapRouteInfoControl extends MapControls implements IRouteInformatio
infoButton.setBackgroundResource(R.drawable.map_btn_signpost); infoButton.setBackgroundResource(R.drawable.map_btn_signpost);
} }
} }
public void setShowDialog() {
showDialog = true;
}
} }

View file

@ -210,11 +210,16 @@ public class MapRoutePreferencesControl extends MapControls {
if (gpxParam.id == R.string.fast_route_mode) { if (gpxParam.id == R.string.fast_route_mode) {
settings.FAST_ROUTE_MODE.set(selected); settings.FAST_ROUTE_MODE.set(selected);
} }
if (gpxParam.id == R.string.announce_nearby_favorites){
settings.ANNOUNCE_NEARBY_FAVORITES.set(selected);
}
} }
private List<LocalRoutingParameter> getRoutingParameters(ApplicationMode am) { private List<LocalRoutingParameter> getRoutingParameters(ApplicationMode am) {
List<LocalRoutingParameter> list = new ArrayList<LocalRoutingParameter>(); List<LocalRoutingParameter> list = new ArrayList<LocalRoutingParameter>();
list.add(new OtherLocalRoutingParameter(R.string.announce_nearby_favorites,
mapActivity.getString(R.string.announce_nearby_favorites), settings.ANNOUNCE_NEARBY_FAVORITES.get()));
GPXRouteParamsBuilder rparams = mapActivity.getRoutingHelper().getCurrentGPXRoute(); GPXRouteParamsBuilder rparams = mapActivity.getRoutingHelper().getCurrentGPXRoute();
boolean osmandRouter = settings.ROUTER_SERVICE.get() == RouteService.OSMAND ; boolean osmandRouter = settings.ROUTER_SERVICE.get() == RouteService.OSMAND ;
if(!osmandRouter) { if(!osmandRouter) {
@ -255,6 +260,7 @@ public class MapRoutePreferencesControl extends MapControls {
list.add(rp); list.add(rp);
} }
} }
return list; return list;
} }
private String getString(int id) { private String getString(int id) {