Merge branch 'master' of https://github.com/osmandapp/Osmand
This commit is contained in:
commit
909f16b1ff
37 changed files with 330 additions and 257 deletions
|
@ -146,6 +146,9 @@ public class MapPoiTypes {
|
||||||
public Map<String, PoiType> getAllTranslatedNames(boolean skipNonEditable) {
|
public Map<String, PoiType> getAllTranslatedNames(boolean skipNonEditable) {
|
||||||
Map<String, PoiType> translation = new HashMap<String, PoiType>();
|
Map<String, PoiType> translation = new HashMap<String, PoiType>();
|
||||||
for(PoiCategory pc : categories) {
|
for(PoiCategory pc : categories) {
|
||||||
|
if(skipNonEditable && pc.isNotEditableOsm()) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
for(PoiType pt : pc.getPoiTypes()) {
|
for(PoiType pt : pc.getPoiTypes()) {
|
||||||
if(pt.isReference() ) {
|
if(pt.isReference() ) {
|
||||||
continue;
|
continue;
|
||||||
|
|
|
@ -133,6 +133,7 @@
|
||||||
android:layout_height="fill_parent"
|
android:layout_height="fill_parent"
|
||||||
android:layout_gravity="bottom"
|
android:layout_gravity="bottom"
|
||||||
android:gravity="center_horizontal"
|
android:gravity="center_horizontal"
|
||||||
|
android:lineSpacingMultiplier="0.9"
|
||||||
android:text="100 m"
|
android:text="100 m"
|
||||||
android:textSize="@dimen/map_widget_text_size_small" />
|
android:textSize="@dimen/map_widget_text_size_small" />
|
||||||
|
|
||||||
|
@ -142,6 +143,7 @@
|
||||||
android:layout_height="fill_parent"
|
android:layout_height="fill_parent"
|
||||||
android:layout_gravity="bottom"
|
android:layout_gravity="bottom"
|
||||||
android:gravity="center_horizontal"
|
android:gravity="center_horizontal"
|
||||||
|
android:lineSpacingMultiplier="0.9"
|
||||||
android:text="100 m"
|
android:text="100 m"
|
||||||
android:textSize="@dimen/map_widget_text_size_small" />
|
android:textSize="@dimen/map_widget_text_size_small" />
|
||||||
</FrameLayout>
|
</FrameLayout>
|
||||||
|
|
|
@ -125,6 +125,7 @@
|
||||||
android:layout_height="fill_parent"
|
android:layout_height="fill_parent"
|
||||||
android:layout_gravity="bottom"
|
android:layout_gravity="bottom"
|
||||||
android:gravity="center_horizontal"
|
android:gravity="center_horizontal"
|
||||||
|
android:lineSpacingMultiplier="0.9"
|
||||||
android:text="100 m"
|
android:text="100 m"
|
||||||
android:textSize="@dimen/map_widget_text_size_small" />
|
android:textSize="@dimen/map_widget_text_size_small" />
|
||||||
|
|
||||||
|
@ -134,6 +135,7 @@
|
||||||
android:layout_height="fill_parent"
|
android:layout_height="fill_parent"
|
||||||
android:layout_gravity="bottom"
|
android:layout_gravity="bottom"
|
||||||
android:gravity="center_horizontal"
|
android:gravity="center_horizontal"
|
||||||
|
android:lineSpacingMultiplier="0.9"
|
||||||
android:text="100 m"
|
android:text="100 m"
|
||||||
android:textSize="@dimen/map_widget_text_size_small" />
|
android:textSize="@dimen/map_widget_text_size_small" />
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
<?xml version="1.0" encoding="utf-8" standalone="no"?><resources>
|
<?xml version='1.0' encoding='utf-8'?>
|
||||||
|
<resources>
|
||||||
<string name="osb_author_or_password_not_specified">Моля, въведете потребителско име и парола за сайта на OSM</string>
|
<string name="osb_author_or_password_not_specified">Моля, въведете потребителско име и парола за сайта на OSM</string>
|
||||||
<string name="clear_intermediate_points">Изчистване на междинните точки</string>
|
<string name="clear_intermediate_points">Изчистване на междинните точки</string>
|
||||||
<string name="keep_intermediate_points">Запази междинните точки</string>
|
<string name="keep_intermediate_points">Запази междинните точки</string>
|
||||||
|
@ -2020,4 +2021,11 @@ OsmAnd е с отворен код и активно да се развива.
|
||||||
<string name="shared_string_navigation">Навигация</string>
|
<string name="shared_string_navigation">Навигация</string>
|
||||||
<string name="osmand_running_in_background">Работи във фонов режим</string>
|
<string name="osmand_running_in_background">Работи във фонов режим</string>
|
||||||
<string name="favourites_edit_dialog_title">Предпочитана информация</string>
|
<string name="favourites_edit_dialog_title">Предпочитана информация</string>
|
||||||
</resources>
|
<string name="show_on_start">Да се показва при стартиране</string>
|
||||||
|
<string name="copied_to_clipboard">Копирано</string>
|
||||||
|
<string name="release_2_2">" • Нов контекстно-ориентиран интерфейс\n\n • При стартиране на приложението се извежда картата, освен ако не е избрано \'Показване на таблото при стартиране\'\n\n • Настройване на контролите върху таблото за управление\n\n • Пропускане на таблото, ако предпочитате приложение с меню\n\n • To download maps, regions can be directly selected by tapping on the world map\n\n • POI Search now supports more specific queries\n\n • Improved POI and OSM editing functionality\n\n • Map data download structure and interface reworked\n\n и още... "</string>
|
||||||
|
<string name="osm_save_offline">Запази офлайн</string>
|
||||||
|
<string name="osm_edit_modified_poi">Модифицирани OSM POI</string>
|
||||||
|
<string name="osm_edit_deleted_poi">Изтрити OSM POI</string>
|
||||||
|
<string name="context_menu_item_open_note">Отвори OSM бележка</string>
|
||||||
|
</resources>
|
||||||
|
|
|
@ -237,7 +237,7 @@
|
||||||
<string name="osmand_parking_position_description_add">Afhent bilen:</string>
|
<string name="osmand_parking_position_description_add">Afhent bilen:</string>
|
||||||
<string name="osmand_parking_am">AM</string>
|
<string name="osmand_parking_am">AM</string>
|
||||||
<string name="osmand_parking_position_name">Parkeringssted</string>
|
<string name="osmand_parking_position_name">Parkeringssted</string>
|
||||||
<string name="osmand_parking_plugin_description">Parkeringsplads udvidelsen kan huske hvor bilen er parkeret, og hvor meget parkeringstid der er tilbage (hvis der er en tidsfrist).\nBåde placering og tid er synlige på oversigtspanelet samt i modul på kortskærmen. En alarm kan tilføjes til Android kalenderen, som en påmindelse.</string>
|
<string name="osmand_parking_plugin_description">Parkeringsplads udvidelsen kan huske hvor bilen er parkeret, og hvor meget parkeringstid der er tilbage (hvis der er en tidsfrist).\nBåde placering og tid er synlige på betjeningspanel samt i modul på kortskærmen. En alarm kan tilføjes til Android kalenderen, som en påmindelse.</string>
|
||||||
<string name="osmand_parking_plugin_name">Parkering</string>
|
<string name="osmand_parking_plugin_name">Parkering</string>
|
||||||
<string name="context_menu_item_add_parking_point">Marker som parkeringsplads</string>
|
<string name="context_menu_item_add_parking_point">Marker som parkeringsplads</string>
|
||||||
<string name="context_menu_item_delete_parking_point">Slet en parkeringsmarkør</string>
|
<string name="context_menu_item_delete_parking_point">Slet en parkeringsmarkør</string>
|
||||||
|
@ -1484,7 +1484,7 @@
|
||||||
<string name="lang_sw">Swahili</string>
|
<string name="lang_sw">Swahili</string>
|
||||||
<string name="lang_he">Hebræisk</string>
|
<string name="lang_he">Hebræisk</string>
|
||||||
<string name="forward">Frem</string>
|
<string name="forward">Frem</string>
|
||||||
<string name="home">Oversigtspanel</string>
|
<string name="home">Betjeningspanel</string>
|
||||||
<string name="live_monitoring_m_descr">Send sporing til en bestemt webtjeneste, hvis GPX logning er aktiveret.</string>
|
<string name="live_monitoring_m_descr">Send sporing til en bestemt webtjeneste, hvis GPX logning er aktiveret.</string>
|
||||||
<string name="live_monitoring_m">Online sporing (GPX nødvendig)</string>
|
<string name="live_monitoring_m">Online sporing (GPX nødvendig)</string>
|
||||||
<string name="live_monitoring_start">Start online sporing</string>
|
<string name="live_monitoring_start">Start online sporing</string>
|
||||||
|
@ -1925,7 +1925,7 @@
|
||||||
<string name="we_really_care_about_your_opinion">Vi er meget interesseret i din mening, og det er vigtigt for os at høre fra dig.</string>
|
<string name="we_really_care_about_your_opinion">Vi er meget interesseret i din mening, og det er vigtigt for os at høre fra dig.</string>
|
||||||
<string name="rendering_value_boldOutline_name">Fed kontur</string>
|
<string name="rendering_value_boldOutline_name">Fed kontur</string>
|
||||||
<string name="traffic_warning_hazard">Fare</string>
|
<string name="traffic_warning_hazard">Fare</string>
|
||||||
<string name="dahboard_options_dialog_title">Konfigurer oversigtspanel</string>
|
<string name="dahboard_options_dialog_title">Konfigurer betjeningspanel</string>
|
||||||
<string name="shared_string_card_was_hidden">Kortet blev skjult</string>
|
<string name="shared_string_card_was_hidden">Kortet blev skjult</string>
|
||||||
<string name="shared_string_undo">FORTRYD</string>
|
<string name="shared_string_undo">FORTRYD</string>
|
||||||
<string name="shared_string_skip">Spring over</string>
|
<string name="shared_string_skip">Spring over</string>
|
||||||
|
@ -2095,7 +2095,7 @@
|
||||||
<string name="osn_close_dialog_success">Note lukket</string>
|
<string name="osn_close_dialog_success">Note lukket</string>
|
||||||
<string name="osm_edit_modified_poi">Ændret OSM IP</string>
|
<string name="osm_edit_modified_poi">Ændret OSM IP</string>
|
||||||
<string name="osm_edit_deleted_poi">Slettet OSM IP</string>
|
<string name="osm_edit_deleted_poi">Slettet OSM IP</string>
|
||||||
<string name="release_2_2">" • Ny kontekstafhængig brugergrænseflade når der vælges lokationer på kortet og på andre skærme\n\n • Kortskærmen vises direkte, medmindre \'Vis oversigtpanel ved start\' er valgt\n\n • Konfigurer hvordan og hvilket indhold der vises på oversigtspanelet\n\n • Hent kort, regioner ved at trykke direkte på verdenskortet\n\n • IP søgning understøtter nu mere specifikke forespørgsler\n\n • Forbedret IP og OSM redigeringsfunktionalitet\n\n • Administration af kortfiler struktur og grænseflade er omarbejdet\n\n og mere... "</string>
|
<string name="release_2_2">" • Ny kontekstafhængig brugergrænseflade når der vælges lokationer på kortet og på andre skærme\n\n • Kortskærmen vises direkte, medmindre \'Vis betjeningspanel ved start\' er valgt\n\n • Konfigurer hvordan og hvilket indhold der vises på betjeningspanelet\n\n • Forbigå betjeningspanel hvis der ønskes menuen-baserede app-kontrol\n\n • Hent kort, regioner ved at trykke direkte på verdenskortet\n\n • IP søgning understøtter nu mere specifikke forespørgsler\n\n • Forbedret IP og OSM redigeringsfunktionalitet\n\n • Administration af kortfiler struktur og grænseflade er omarbejdet\n\n og mere... "</string>
|
||||||
<string name="osm_save_offline">Gem offline</string>
|
<string name="osm_save_offline">Gem offline</string>
|
||||||
<string name="rendering_attr_currentTrackColor_description">GPX-farve</string>
|
<string name="rendering_attr_currentTrackColor_description">GPX-farve</string>
|
||||||
<string name="rendering_attr_currentTrackWidth_description">GPX-bredde</string>
|
<string name="rendering_attr_currentTrackWidth_description">GPX-bredde</string>
|
||||||
|
@ -2103,10 +2103,10 @@
|
||||||
<string name="copied_to_clipboard">Kopieret til udklipsholder</string>
|
<string name="copied_to_clipboard">Kopieret til udklipsholder</string>
|
||||||
|
|
||||||
|
|
||||||
<string name="dashboard_or_drawer_title">Nyt valg for opstart</string>
|
<string name="dashboard_or_drawer_title">Betjeningspanel eller menu kontrol</string>
|
||||||
<string name="dashboard_or_drawer_description">Vælg om programmet starter med at vise korter eller oversigtspanel først. Kan ændres i indstillinger for oversigtspanel.</string>
|
<string name="dashboard_or_drawer_description">Der er et nyt valg til at betjene app via det fleksibel betjeningspanel eller en statisk menu. Kan ændres i indstillinger for betjeningspanel .</string>
|
||||||
<string name="use_dashboard_btn">Start altid med oversigtspanel</string>
|
<string name="use_dashboard_btn">Brug betjeningspanel</string>
|
||||||
<string name="use_drawer_btn">Start altid med kortet</string>
|
<string name="use_drawer_btn">Brug menuen</string>
|
||||||
<string name="access_from_map_description">Placerer en knap til oversigtspanelet på kortskærmen</string>
|
<string name="access_from_map_description">Menuknappen viser betjeningspanel, ikke menuen</string>
|
||||||
<string name="access_from_map">Adgang fra kort</string>
|
<string name="access_from_map">Adgang fra kort</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
@ -19,8 +19,8 @@
|
||||||
<string name="traffic_warning_calming">Verkehrsberuhigung</string>
|
<string name="traffic_warning_calming">Verkehrsberuhigung</string>
|
||||||
<string name="traffic_warning_speed_camera">Geschwindigkeitskontrolle</string>
|
<string name="traffic_warning_speed_camera">Geschwindigkeitskontrolle</string>
|
||||||
<string name="traffic_warning">Verkehrswarnung</string>
|
<string name="traffic_warning">Verkehrswarnung</string>
|
||||||
<string name="speak_favorites">Nahegelegene Favoriten ankündigen</string>
|
<string name="speak_favorites">Nahegelegene Favoriten</string>
|
||||||
<string name="speak_poi">Nahegelegene POI ankündigen</string>
|
<string name="speak_poi">Nahegelegene POI</string>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -286,10 +286,10 @@
|
||||||
<string name="index_name_europe">Europa</string>
|
<string name="index_name_europe">Europa</string>
|
||||||
<string name="index_name_france">Europa - Frankreich</string>
|
<string name="index_name_france">Europa - Frankreich</string>
|
||||||
<string name="index_name_germany">Europa - Deutschland</string>
|
<string name="index_name_germany">Europa - Deutschland</string>
|
||||||
<string name="index_name_russia">Europa/Asien - Russland</string>
|
<string name="index_name_russia">Russland</string>
|
||||||
<string name="index_name_africa">Afrika</string>
|
<string name="index_name_africa">Afrika</string>
|
||||||
<string name="index_name_asia">Asien</string>
|
<string name="index_name_asia">Asien</string>
|
||||||
<string name="index_name_oceania">Ozeanien</string>
|
<string name="index_name_oceania">Australien und Ozeanien</string>
|
||||||
<string name="index_name_other">Weltweite und thematische Karten</string>
|
<string name="index_name_other">Weltweite und thematische Karten</string>
|
||||||
<string name="index_name_wiki">Weltweite Wikipedia POIs</string>
|
<string name="index_name_wiki">Weltweite Wikipedia POIs</string>
|
||||||
<string name="index_name_voice">Sprachpakete (Aufnahmen - begrenzte Funktionalität)</string>
|
<string name="index_name_voice">Sprachpakete (Aufnahmen - begrenzte Funktionalität)</string>
|
||||||
|
@ -328,7 +328,7 @@
|
||||||
<string name="user_password">OSM-Kennwort</string>
|
<string name="user_password">OSM-Kennwort</string>
|
||||||
<string name="user_password_descr">Nötig für openstreetmap.org-Beiträge</string>
|
<string name="user_password_descr">Nötig für openstreetmap.org-Beiträge</string>
|
||||||
<string name="osmand_service">Hintergrunddienst</string>
|
<string name="osmand_service">Hintergrunddienst</string>
|
||||||
<string name="osmand_service_descr">Für Verwendung von OsmAnd bei ausgeschalteter Anzeige</string>
|
<string name="osmand_service_descr">OsmAnd läuft bei ausgeschalteter Anzeige im Hintergrund</string>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -687,7 +687,7 @@
|
||||||
<string name="int_min">Min.</string>
|
<string name="int_min">Min.</string>
|
||||||
<string name="background_service_provider_descr">Art der Standortbestimmung beim Hintergrunddienst</string>
|
<string name="background_service_provider_descr">Art der Standortbestimmung beim Hintergrunddienst</string>
|
||||||
<string name="background_service_provider">Standortbestimmung</string>
|
<string name="background_service_provider">Standortbestimmung</string>
|
||||||
<string name="off_router_service_no_gps_available">Die Hintergrundnavigation erfordert aktiviertes GPS.</string>
|
<string name="off_router_service_no_gps_available">Die Hintergrundnavigation erfordert aktivierte Standortdienste.</string>
|
||||||
<string name="hide_poi_filter">Filter verstecken</string>
|
<string name="hide_poi_filter">Filter verstecken</string>
|
||||||
<string name="show_poi_filter">Filter zeigen</string>
|
<string name="show_poi_filter">Filter zeigen</string>
|
||||||
<string name="search_poi_filter">Filter</string>
|
<string name="search_poi_filter">Filter</string>
|
||||||
|
@ -1166,7 +1166,7 @@
|
||||||
<string name="access_arrival_time">Ankunftszeit</string>
|
<string name="access_arrival_time">Ankunftszeit</string>
|
||||||
<string name="map_widget_gps_info">GPS-Info</string>
|
<string name="map_widget_gps_info">GPS-Info</string>
|
||||||
|
|
||||||
<string name="street_name">Straße</string>
|
<string name="street_name">Straßenname</string>
|
||||||
<string name="hno">Hausnummer</string>
|
<string name="hno">Hausnummer</string>
|
||||||
|
|
||||||
|
|
||||||
|
@ -1225,9 +1225,9 @@
|
||||||
<string name="av_photo_play_sound">Ton bei Auslösung abspielen</string>
|
<string name="av_photo_play_sound">Ton bei Auslösung abspielen</string>
|
||||||
<string name="av_photo_play_sound_descr">Auswählen, ob beim Aufnehmen eines Fotos ein Ton abgespielt werden soll</string>
|
<string name="av_photo_play_sound_descr">Auswählen, ob beim Aufnehmen eines Fotos ein Ton abgespielt werden soll</string>
|
||||||
|
|
||||||
<string name="speak_speed_limit">Höchstgeschwindigkeit ansagen</string>
|
<string name="speak_speed_limit">Tempolimit</string>
|
||||||
<string name="speak_cameras">Blitzer ansagen</string>
|
<string name="speak_cameras">Blitzer</string>
|
||||||
<string name="speak_traffic_warnings">Verkehrswarnungen ansagen</string>
|
<string name="speak_traffic_warnings">Verkehrswarnungen</string>
|
||||||
<string name="osb_author_or_password_not_specified">Bitte OSM-Nutzername und Passwort in den Einstellungen eingeben</string>
|
<string name="osb_author_or_password_not_specified">Bitte OSM-Nutzername und Passwort in den Einstellungen eingeben</string>
|
||||||
<string name="clear_intermediate_points">Zwischenziele löschen</string>
|
<string name="clear_intermediate_points">Zwischenziele löschen</string>
|
||||||
<string name="keep_intermediate_points">Zwischenziele behalten</string>
|
<string name="keep_intermediate_points">Zwischenziele behalten</string>
|
||||||
|
@ -1252,7 +1252,7 @@
|
||||||
<string name="driving_region_canada">Kanada</string>
|
<string name="driving_region_canada">Kanada</string>
|
||||||
<string name="driving_region_europe_asia">Europa und Asien</string>
|
<string name="driving_region_europe_asia">Europa und Asien</string>
|
||||||
<string name="driving_region_uk">GB, Indien, Australien u.a.</string>
|
<string name="driving_region_uk">GB, Indien, Australien u.a.</string>
|
||||||
<string name="announce_gpx_waypoints">GPX-Wegpunkte ansagen</string>
|
<string name="announce_gpx_waypoints">GPX-Wegpunkte</string>
|
||||||
<string name="driving_region">Fahrgebiet</string>
|
<string name="driving_region">Fahrgebiet</string>
|
||||||
<string name="about_version">Version :</string>
|
<string name="about_version">Version :</string>
|
||||||
<string name="shared_string_about">Über</string>
|
<string name="shared_string_about">Über</string>
|
||||||
|
@ -1721,7 +1721,7 @@ Afghanistan, Ägypten, Albanien, Algerien, Andorra, Angola, Anguilla, Antigua an
|
||||||
<string name="download_additional_maps">Fehlende Karten herunterladen: %1$s (%2$d MB)?</string>
|
<string name="download_additional_maps">Fehlende Karten herunterladen: %1$s (%2$d MB)?</string>
|
||||||
<string name="shared_string_more">Mehr…</string>
|
<string name="shared_string_more">Mehr…</string>
|
||||||
<string name="osmo_specify_tracker_id">Bitte ID eingeben</string>
|
<string name="osmo_specify_tracker_id">Bitte ID eingeben</string>
|
||||||
<string name="home">Übersicht</string>
|
<string name="home">Dashboard</string>
|
||||||
<string name="rendering_attr_publicTransportMode_name">Bus-, Oberleitungsbus-, Sammeltaxi-Linien</string>
|
<string name="rendering_attr_publicTransportMode_name">Bus-, Oberleitungsbus-, Sammeltaxi-Linien</string>
|
||||||
<string name="record_plugin_name">Streckenaufzeichnung</string>
|
<string name="record_plugin_name">Streckenaufzeichnung</string>
|
||||||
<string name="int_hour">h</string>
|
<string name="int_hour">h</string>
|
||||||
|
@ -1814,7 +1814,7 @@ Afghanistan, Ägypten, Albanien, Algerien, Andorra, Angola, Anguilla, Antigua an
|
||||||
<string name="rendering_value_americanRoadAtlas_name">Amerikanischer Straßenatlas</string>
|
<string name="rendering_value_americanRoadAtlas_name">Amerikanischer Straßenatlas</string>
|
||||||
<string name="routing_attr_no_new_routing_name">Routing-Regeln v1.9 nicht verwenden</string>
|
<string name="routing_attr_no_new_routing_name">Routing-Regeln v1.9 nicht verwenden</string>
|
||||||
<string name="routing_attr_no_new_routing_description">Neuen Routenalgorithmus nicht verwenden</string>
|
<string name="routing_attr_no_new_routing_description">Neuen Routenalgorithmus nicht verwenden</string>
|
||||||
<string name="speak_pedestrian">Fußgängerübergänge ankündigen</string>
|
<string name="speak_pedestrian">Fußgängerübergänge</string>
|
||||||
|
|
||||||
<string name="parking_place">Parkplätze</string>
|
<string name="parking_place">Parkplätze</string>
|
||||||
<string name="remove_the_tag">TAG ENTFERNEN</string>
|
<string name="remove_the_tag">TAG ENTFERNEN</string>
|
||||||
|
@ -2034,7 +2034,7 @@ Afghanistan, Ägypten, Albanien, Algerien, Andorra, Angola, Anguilla, Antigua an
|
||||||
<string name="successfully_uploaded_pattern">Erfolgreich hochgeladen {0}/{1}</string>
|
<string name="successfully_uploaded_pattern">Erfolgreich hochgeladen {0}/{1}</string>
|
||||||
<string name="try_again">Erneut versuchen</string>
|
<string name="try_again">Erneut versuchen</string>
|
||||||
<string name="error_message_pattern">Fehler: {0}</string>
|
<string name="error_message_pattern">Fehler: {0}</string>
|
||||||
<string name="dahboard_options_dialog_title">Übersicht konfigurieren</string>
|
<string name="dahboard_options_dialog_title">Dashboard konfigurieren</string>
|
||||||
<string name="shared_string_undo">Rückgängig machen</string>
|
<string name="shared_string_undo">Rückgängig machen</string>
|
||||||
<string name="shared_string_skip">Überspringen</string>
|
<string name="shared_string_skip">Überspringen</string>
|
||||||
<string name="app_name_osmand">OsmAnd</string>
|
<string name="app_name_osmand">OsmAnd</string>
|
||||||
|
@ -2047,7 +2047,7 @@ Afghanistan, Ägypten, Albanien, Algerien, Andorra, Angola, Anguilla, Antigua an
|
||||||
<string name="routing_attr_avoid_shuttle_train_name">Pendelzug vermeiden</string>
|
<string name="routing_attr_avoid_shuttle_train_name">Pendelzug vermeiden</string>
|
||||||
<string name="routing_attr_avoid_shuttle_train_description">Pendelzug vermeiden</string>
|
<string name="routing_attr_avoid_shuttle_train_description">Pendelzug vermeiden</string>
|
||||||
<string name="plugin_settings">Plugins</string>
|
<string name="plugin_settings">Plugins</string>
|
||||||
<string name="building_number">Gebäude-Nummer</string>
|
<string name="building_number">Hausnummer</string>
|
||||||
<string name="opening_at">geöffnet ab</string>
|
<string name="opening_at">geöffnet ab</string>
|
||||||
<string name="closing_at">geschlossen ab</string>
|
<string name="closing_at">geschlossen ab</string>
|
||||||
<string name="si_nm">Nautische Meilen</string>
|
<string name="si_nm">Nautische Meilen</string>
|
||||||
|
@ -2138,14 +2138,14 @@ Afghanistan, Ägypten, Albanien, Algerien, Andorra, Angola, Anguilla, Antigua an
|
||||||
<string name="feedback">Feedback</string>
|
<string name="feedback">Feedback</string>
|
||||||
<string name="contact_us">Kontakt</string>
|
<string name="contact_us">Kontakt</string>
|
||||||
<string name="map_legend">Kartenlegende</string>
|
<string name="map_legend">Kartenlegende</string>
|
||||||
<string name="access_from_map_description">Plaziert einen Dashboard-Knopf auf dem Bildschirm</string>
|
<string name="access_from_map_description">Menü-Knopf zeigt Dashboard, nicht Menü</string>
|
||||||
<string name="show_on_start_description">\"Aus\" startet direkt die Kartenansicht.</string>
|
<string name="show_on_start_description">\"Aus\" startet direkt die Kartenansicht.</string>
|
||||||
<string name="copied_to_clipboard">in die Zwischenablage kopiert</string>
|
<string name="copied_to_clipboard">in die Zwischenablage kopiert</string>
|
||||||
<string name="release_2_2">" • Neue Kontext-bezogene Benutzeroberfläche bei Auswahl von Orten auf der Karte und anderen Ansichten\n\n • Kartenansicht wird nun direkt gestartet, außer bei Auswahl von \'Zeige Dashboard bei App-Start\'\n\n • Auswahl der anzuzeigenden Elemente im Dashboard möglich\n\n • Zum Herunterladen von Kartendateien können nun Regionen direkt durch Tippen auf der Weltkarte ausgewählt werden\n\n • Die POI-Suche ermöglicht nun speziellere Abfragen\n\n • Verbesserungen beim Editieren von POI- und OSM-Objekten\n\n • Oberfläche und Struktur zum Herunterladen der Karten wurden überarbeitet\n\n und mehr ... "</string>
|
<string name="release_2_2">" • Neue Kontext-bezogene Benutzeroberfläche bei Auswahl von Orten auf der Karte und anderen Ansichten\n\n • Kartenansicht wird nun direkt gestartet, außer bei Auswahl von \'Zeige Dashboard bei App-Start\'\n\n • Auswahl der anzuzeigenden Elemente im Dashboard möglich\n\n • Dashboard kann umgangen werden, falls menü-basierte App-Steuerung gewünscht ist\n\n • Zum Herunterladen von Kartendateien können nun Regionen direkt durch Tippen auf der Weltkarte ausgewählt werden\n\n • Die POI-Suche ermöglicht nun speziellere Abfragen\n\n • Verbesserungen beim Editieren von POI- und OSM-Objekten\n\n • Oberfläche und Struktur zum Herunterladen der Karten wurden überarbeitet\n\n und mehr ... "</string>
|
||||||
<string name="osm_save_offline">offline speichern</string>
|
<string name="osm_save_offline">offline speichern</string>
|
||||||
<string name="osm_edit_modified_poi">geänderter OSM-POI</string>
|
<string name="osm_edit_modified_poi">geänderter OSM-POI</string>
|
||||||
<string name="osm_edit_deleted_poi">OSM-POI löschen</string>
|
<string name="osm_edit_deleted_poi">OSM-POI löschen</string>
|
||||||
<string name="context_menu_item_open_note">Offene OSM-Notiz</string>
|
<string name="context_menu_item_open_note">OSM-Notiz erstellen</string>
|
||||||
<string name="osm_edit_reopened_note">Wiedereröffnete OSM-Notiz</string>
|
<string name="osm_edit_reopened_note">Wiedereröffnete OSM-Notiz</string>
|
||||||
<string name="osm_edit_commented_note">Kommentierte OSM-Notiz</string>
|
<string name="osm_edit_commented_note">Kommentierte OSM-Notiz</string>
|
||||||
<string name="osm_edit_removed_note">Gelöschte OSM-Notiz</string>
|
<string name="osm_edit_removed_note">Gelöschte OSM-Notiz</string>
|
||||||
|
@ -2182,8 +2182,12 @@ Afghanistan, Ägypten, Albanien, Algerien, Andorra, Angola, Anguilla, Antigua an
|
||||||
<string name="enter_country_name">Name des Landes eingeben</string>
|
<string name="enter_country_name">Name des Landes eingeben</string>
|
||||||
<string name="save_poi_without_poi_type_message">Soll der POI wirklich ohne Art des POI gespeichert werden?</string>
|
<string name="save_poi_without_poi_type_message">Soll der POI wirklich ohne Art des POI gespeichert werden?</string>
|
||||||
<string name="poi_context_menu_modify_osm_change">OSM-Änderung bearbeiten</string>
|
<string name="poi_context_menu_modify_osm_change">OSM-Änderung bearbeiten</string>
|
||||||
<string name="use_dashboard_btn">Dashboard immer starten</string>
|
<string name="use_dashboard_btn">Dashboard verwenden</string>
|
||||||
<string name="use_drawer_btn">Kartenansicht immer starten</string>
|
<string name="use_drawer_btn">Menü verwenden</string>
|
||||||
<string name="dashboard_or_drawer_title">Neue Auswahl des Startvorgangs</string>
|
<string name="dashboard_or_drawer_title">Auswahl der App-Bedienung</string>
|
||||||
<string name="dashboard_or_drawer_description">Es ist nun auswählbar, ob beim Start der App gleich die Kartenansicht oder das Dashboard angezeigt wird. (Jederzeit in den Dashboard-Einstellungen änderbar)</string>
|
<string name="dashboard_or_drawer_description">Es ist nun auswählbar, ob die App primär über das flexible Dashboard oder über ein statisches Menü bedient werden soll. (Jederzeit in den Dashboard-Einstellungen änderbar)</string>
|
||||||
</resources>
|
<string name="access_from_map">Aufruf von der Karte aus</string>
|
||||||
|
<string name="favorite_category_add_new">neu erstellen</string>
|
||||||
|
<string name="next_proceed">Weiter</string>
|
||||||
|
<string name="file_size_in_mb">%.1f MB</string>
|
||||||
|
</resources>
|
||||||
|
|
|
@ -773,7 +773,7 @@
|
||||||
<string name="poi_healthcare">Здоровье</string>
|
<string name="poi_healthcare">Здоровье</string>
|
||||||
<string name="poi_sustenance">Еда</string>
|
<string name="poi_sustenance">Еда</string>
|
||||||
<string name="poi_lodging">Проживание</string>
|
<string name="poi_lodging">Проживание</string>
|
||||||
<string name="poi_man_made">Инфраструктура</string>
|
<string name="poi_man_made">Рукотворное</string>
|
||||||
<string name="poi_administrative">Административные объекты</string>
|
<string name="poi_administrative">Административные объекты</string>
|
||||||
<string name="poi_seamark">Морские объекты</string>
|
<string name="poi_seamark">Морские объекты</string>
|
||||||
<string name="poi_internet_access_wlan">Доступ в Интернет: беспроводной</string>
|
<string name="poi_internet_access_wlan">Доступ в Интернет: беспроводной</string>
|
||||||
|
|
|
@ -1,5 +1,24 @@
|
||||||
<?xml version="1.0" encoding="utf-8" standalone="no"?><resources>
|
<?xml version="1.0" encoding="utf-8" standalone="no"?><resources>
|
||||||
|
|
||||||
|
<string name="osm_edit_reopened_note">Заметка OSM открыта снова</string>
|
||||||
|
<string name="osm_edit_commented_note">К заметке OSM добавлен комментарий</string>
|
||||||
|
<string name="osm_edit_removed_note">Заметка OSM удалена</string>
|
||||||
|
<string name="osm_edit_created_note">Заметка OSM создана</string>
|
||||||
|
<string name="osn_bug_name">Заметка OSM</string>
|
||||||
|
<string name="osn_add_dialog_title">Создание заметки</string>
|
||||||
|
<string name="osn_comment_dialog_title">Добавление комментария</string>
|
||||||
|
<string name="osn_reopen_dialog_title">Повторное открытие заметки</string>
|
||||||
|
<string name="osn_close_dialog_title">Закрытие заметки</string>
|
||||||
|
<string name="osn_add_dialog_success">Заметка успешно создана</string>
|
||||||
|
<string name="osn_add_dialog_error">Ошибка: заметка не была создана</string>
|
||||||
|
<string name="osn_close_dialog_success">Заметка было успешно закрыта</string>
|
||||||
|
<string name="osn_close_dialog_error">Ошибка: заметка не была закрыта</string>
|
||||||
|
<string name="osm_edit_deleted_poi">OSM POI удалена</string>
|
||||||
|
<string name="osm_edit_modified_poi">OSM POI отредактирована</string>
|
||||||
|
<string name="osm_save_offline">Сохранить локально</string>
|
||||||
|
<string name="context_menu_item_open_note">Добавить заметку OSM</string>
|
||||||
|
<string name="rendering_attr_currentTrackColor_description">Цвет трека GPX</string>
|
||||||
|
<string name="rendering_attr_currentTrackWidth_description">Толщина трека GPX</string>
|
||||||
<string name="copied_to_clipboard">Скопировано в буфер обмена</string>
|
<string name="copied_to_clipboard">Скопировано в буфер обмена</string>
|
||||||
<string name="rendering_attr_roadStyle_description">Стиль отображения дорог</string>
|
<string name="rendering_attr_roadStyle_description">Стиль отображения дорог</string>
|
||||||
<string name="lang_nds">Нижненемецкий</string>
|
<string name="lang_nds">Нижненемецкий</string>
|
||||||
|
|
|
@ -2020,8 +2020,8 @@
|
||||||
<string name="rendering_attr_roadStyle_description">Istile pro sas istradas</string>
|
<string name="rendering_attr_roadStyle_description">Istile pro sas istradas</string>
|
||||||
<string name="dashboard_or_drawer_title">Issèbera noa de allumìngiu</string>
|
<string name="dashboard_or_drawer_title">Issèbera noa de allumìngiu</string>
|
||||||
<string name="dashboard_or_drawer_description">Como podes isseberare sa mègius manera de allumìngiu de s\'aplicatzione, deretamente dae sa mapa o cun su pannellu de controllu in antis. As a pòdere semper cambiare s’issèbera tua prus a tardu in sas impostatziones de su pannellu.</string>
|
<string name="dashboard_or_drawer_description">Como podes isseberare sa mègius manera de allumìngiu de s\'aplicatzione, deretamente dae sa mapa o cun su pannellu de controllu in antis. As a pòdere semper cambiare s’issèbera tua prus a tardu in sas impostatziones de su pannellu.</string>
|
||||||
<string name="use_dashboard_btn">Ammustra semper su pannellu de controllu</string>
|
<string name="use_dashboard_btn">Allue cun su pannellu de controllu</string>
|
||||||
<string name="use_drawer_btn">Ammustra semper sa mapa</string>
|
<string name="use_drawer_btn">Allue cun sa mapa</string>
|
||||||
<string name="access_from_map_description">Pone unu butone pro su pannellu de controllu in s’ischermu de sa mapa</string>
|
<string name="access_from_map_description">Pone unu butone pro su pannellu de controllu in s’ischermu de sa mapa</string>
|
||||||
<string name="access_from_map">Intra dae sa mapa</string>
|
<string name="access_from_map">Intra dae sa mapa</string>
|
||||||
<string name="release_2_2">" • Interfache impitadore noa pro incarcare positziones in sa mapa e in àteros ischermos\n\n • S\'ischermu de sa mapa est como postu come prima cosa a s’allumìngiu de s’aplicatzione, semper chi \'Ammustra pannellu de controllu in s\'allumìngiu\' no siet ischertadu\n\n • Como podes cunfigurare sas impostatziones pro isseberare cales sunt sas ischedas chi diant dèper’èssere ammustradas in su pannellu e comente\n\n • Pro iscarrigare mapas, sas regiones podent èssere ischertadas deretamente incarcande in sa mapa generale de su mundu\n\n • Sa chirca de PDI como suportat chircas prus dislindadas\n\n • Megioradas sas funtzionalidades de modìficas de PDI e OSM\n\n • Istrutura e s\'interfache de iscarrigamentu datos mapas torrada a fàghere\n\n e àteru... "</string>
|
<string name="release_2_2">" • Interfache impitadore noa pro incarcare positziones in sa mapa e in àteros ischermos\n\n • S\'ischermu de sa mapa est como postu come prima cosa a s’allumìngiu de s’aplicatzione, semper chi \'Ammustra pannellu de controllu in s\'allumìngiu\' no siet ischertadu\n\n • Como podes cunfigurare sas impostatziones pro isseberare cales sunt sas ischedas chi diant dèper’èssere ammustradas in su pannellu e comente\n\n • Pro iscarrigare mapas, sas regiones podent èssere ischertadas deretamente incarcande in sa mapa generale de su mundu\n\n • Sa chirca de PDI como suportat chircas prus dislindadas\n\n • Megioradas sas funtzionalidades de modìficas de PDI e OSM\n\n • Istrutura e s\'interfache de iscarrigamentu datos mapas torrada a fàghere\n\n e àteru... "</string>
|
||||||
|
|
|
@ -1931,6 +1931,6 @@ Afganistan, Albánsko, Alžírsko, Andora, Angola, Anguilla, Antigua a Barbuda,
|
||||||
<string name="dashboard_or_drawer_description">Teraz si môžete zvoliť či aplikácia po štarte spustí obrazovku mapy alebo úvodný panel. Toto nastavenie môžete neskôr zmeniť v nastaveniach panela.</string>
|
<string name="dashboard_or_drawer_description">Teraz si môžete zvoliť či aplikácia po štarte spustí obrazovku mapy alebo úvodný panel. Toto nastavenie môžete neskôr zmeniť v nastaveniach panela.</string>
|
||||||
<string name="access_from_map_description">Umiestni na obrazovku mapy tlačidlo úvodného panela</string>
|
<string name="access_from_map_description">Umiestni na obrazovku mapy tlačidlo úvodného panela</string>
|
||||||
<string name="access_from_map">Prístup z mapy</string>
|
<string name="access_from_map">Prístup z mapy</string>
|
||||||
<string name="use_dashboard_btn">Vždy spustiť úvodný panel</string>
|
<string name="use_dashboard_btn">Spustiť úvodný panel</string>
|
||||||
<string name="use_drawer_btn">Vždy spustiť mapu</string>
|
<string name="use_drawer_btn">Spustiť mapu</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
@ -2002,8 +2002,8 @@
|
||||||
<string name="rendering_attr_currentTrackWidth_description">GPX-bredd</string>
|
<string name="rendering_attr_currentTrackWidth_description">GPX-bredd</string>
|
||||||
<string name="release_2_2">" • Nytt kontextkänsligt gränssnitt för att peta på platser på kartan och på andra skärmar\n\n • Kartskärmen startar nu automatiskt om inte \'Visa panelen vid appstart\' är vald\n\n • Konfigurera vilka kort och hur de ska visas i panelen\n\n • För att hämta kartor kan regioner väljas direkt genom att peta på världskartan\n\n • Sökning efter intressepunkter (POI) understöder nu mer specifika frågor\n\n • Förbättrad funktion för POI- och OSM-redigering\n\n • Strukturen för hämtning av kartdata och gränssnittet har omarbetats\n\n och mer ... "</string>
|
<string name="release_2_2">" • Nytt kontextkänsligt gränssnitt för att peta på platser på kartan och på andra skärmar\n\n • Kartskärmen startar nu automatiskt om inte \'Visa panelen vid appstart\' är vald\n\n • Konfigurera vilka kort och hur de ska visas i panelen\n\n • För att hämta kartor kan regioner väljas direkt genom att peta på världskartan\n\n • Sökning efter intressepunkter (POI) understöder nu mer specifika frågor\n\n • Förbättrad funktion för POI- och OSM-redigering\n\n • Strukturen för hämtning av kartdata och gränssnittet har omarbetats\n\n och mer ... "</string>
|
||||||
<string name="dashboard_or_drawer_description">Du kan nu välja om appen ska starta direkt med kartskärmen eller alltid visa panelen först. Detta val kan du alltid ändra på under inställningarna i panelen.</string>
|
<string name="dashboard_or_drawer_description">Du kan nu välja om appen ska starta direkt med kartskärmen eller alltid visa panelen först. Detta val kan du alltid ändra på under inställningarna i panelen.</string>
|
||||||
<string name="use_dashboard_btn">Starta alltid med panelen</string>
|
<string name="use_dashboard_btn">Öppna panelen</string>
|
||||||
<string name="use_drawer_btn">Starta alltid med kartan</string>
|
<string name="use_drawer_btn">Visa kartan</string>
|
||||||
<string name="dashboard_or_drawer_title">Nytt val för uppstarten</string>
|
<string name="dashboard_or_drawer_title">Nytt val för uppstarten</string>
|
||||||
<string name="poi_dialog_reopen">Öppna igen</string>
|
<string name="poi_dialog_reopen">Öppna igen</string>
|
||||||
<string name="shared_string_commit">Skicka in</string>
|
<string name="shared_string_commit">Skicka in</string>
|
||||||
|
|
|
@ -2003,14 +2003,14 @@
|
||||||
<string name="rendering_attr_roadStyle_description">道路樣式</string>
|
<string name="rendering_attr_roadStyle_description">道路樣式</string>
|
||||||
<string name="poi_dialog_reopen">重新開啟</string>
|
<string name="poi_dialog_reopen">重新開啟</string>
|
||||||
<string name="osm_save_offline">離線儲存</string>
|
<string name="osm_save_offline">離線儲存</string>
|
||||||
<string name="release_2_2">" •在地圖上和其它螢幕上,為點擊位置做了新的敏捷內容選單使用者界面\n\n•地圖螢幕上現在除了直接啟動外,還有\'在應用程式時啟動顯示儀表板\'可選\n\n •組態哪些以及何種卡可以在儀表板上顯示\n\n •要下載地圖,可以直接在全球地圖上點選區域\n\n •更好的重新計算路線(現在引擎經過反復的嘗試,建議一條不同的路線)\n\n •興趣點搜尋現在支援更具體的查詢\n\n •改善過的興趣點和 OSM 編輯功能\n\n •地圖資料下載結構和界面重新設計\n\n 還有更多... "</string>
|
<string name="release_2_2">" •在地圖上和其它螢幕上,為點擊位置做了新的敏捷內容選單使用者界面\n\n•地圖螢幕上現在除了直接啟動外,還有\'在應用程式時啟動顯示儀表板\'可選\n\n •組態哪些以及何種卡可以在儀表板上顯示\n\n•如果您喜歡基本選單的應用程式控制,繞過儀表板方式\n\n •要下載地圖,可以直接在全球地圖上點選區域\n\n •更好的重新計算路線(現在引擎經過反復的嘗試,建議一條不同的路線)\n\n •興趣點搜尋現在支援更具體的查詢\n\n •改善過的興趣點和 OSM 編輯功能\n\n •地圖資料下載結構和界面重新設計\n\n 還有更多... "</string>
|
||||||
<string name="copied_to_clipboard">複製到剪貼簿</string>
|
<string name="copied_to_clipboard">複製到剪貼簿</string>
|
||||||
|
|
||||||
|
|
||||||
<string name="dashboard_or_drawer_title">新的起始選擇</string>
|
<string name="dashboard_or_drawer_title">儀表板或選單控制</string>
|
||||||
<string name="dashboard_or_drawer_description">您現在可以選擇,如果應用程式直接啟動在地圖螢幕或是永遠先顯示儀表板。您稍後也可以在設定中更改。</string>
|
<string name="dashboard_or_drawer_description">還有一種新的選擇,透過具彈性的儀表板或固定的選單優先控制應用程式。在儀表板中也可以更改您的選擇。</string>
|
||||||
<string name="access_from_map_description">將儀表板按鈕放置在地圖螢幕上</string>
|
<string name="access_from_map_description">選單按鈕啟動儀表板,無選單</string>
|
||||||
<string name="access_from_map">從地圖進入</string>
|
<string name="access_from_map">從地圖進入</string>
|
||||||
<string name="use_dashboard_btn">開始儀表板</string>
|
<string name="use_dashboard_btn">使用儀表板</string>
|
||||||
<string name="use_drawer_btn">開始地圖</string>
|
<string name="use_drawer_btn">使用地圖</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
@ -8,21 +8,22 @@
|
||||||
If you are making/correcting English translations make sure:
|
If you are making/correcting English translations make sure:
|
||||||
3. All your modified/created strings are in the top of the file (to make easier find what\'s translated).
|
3. All your modified/created strings are in the top of the file (to make easier find what\'s translated).
|
||||||
PLEASE: Have a look at http://code.google.com/p/osmand/wiki/UIConsistency, it may really improve your and our work :-) Thx - Hardy
|
PLEASE: Have a look at http://code.google.com/p/osmand/wiki/UIConsistency, it may really improve your and our work :-) Thx - Hardy
|
||||||
-->
|
-->
|
||||||
<string name="access_from_map_description">Places a dashboard button on the map screen</string>
|
<string name="access_from_map_description">Menu button launches dashboard, not menu</string>
|
||||||
<string name="access_from_map">Access from map</string>
|
<string name="access_from_map">Access from map</string>
|
||||||
<string name="show_on_start_description">\'Off\' directly launches the map screen</string>
|
<string name="show_on_start_description">\'Off\' directly launches the map screen</string>
|
||||||
<string name="show_on_start">Show on start</string>
|
<string name="show_on_start">Show on start</string>
|
||||||
<string name="copied_to_clipboard">Copied to clipboard</string>
|
<string name="copied_to_clipboard">Copied to clipboard</string>
|
||||||
<string name="release_2_2">
|
<string name="release_2_2">
|
||||||
\u2022 New context-sensitive UI for tapping locations on the map and on other screens\n\n
|
\u2022 New context-sensitive UI for tapping locations on the map and on other screens\n\n
|
||||||
\u2022 Map screen is now launched directly unless \'Show dashboard on app start\' is selected\n\n
|
\u2022 Map screen is now launched directly unless \'Show dashboard on app start\' is selected\n\n
|
||||||
\u2022 Configure which and how cards are displayed on the dashboard\n\n
|
\u2022 Configure which and how cards are displayed on the dashboard\n\n
|
||||||
\u2022 To download maps, regions can be directly selected by tapping on the world map\n\n
|
\u2022 Bypass the dashboard if you like menu-based app control\n\n
|
||||||
\u2022 POI Search now supports more specific queries\n\n
|
\u2022 To download maps, regions can be directly selected by tapping on the world map\n\n
|
||||||
|
\u2022 POI Search now supports more specific queries\n\n
|
||||||
\u2022 Improved POI and OSM editing functionality\n\n
|
\u2022 Improved POI and OSM editing functionality\n\n
|
||||||
\u2022 Map data download structure and interface reworked\n\n
|
\u2022 Map data download structure and interface reworked\n\n
|
||||||
and more...
|
and more...
|
||||||
</string>
|
</string>
|
||||||
<string name="osm_save_offline">Save offline</string>
|
<string name="osm_save_offline">Save offline</string>
|
||||||
<string name="osm_edit_modified_poi">Modified OSM POI</string>
|
<string name="osm_edit_modified_poi">Modified OSM POI</string>
|
||||||
|
@ -2091,8 +2092,8 @@ Afghanistan, Albania, Algeria, Andorra, Angola, Anguilla, Antigua and Barbuda, A
|
||||||
<string name="map_legend">Map legend</string>
|
<string name="map_legend">Map legend</string>
|
||||||
<string name="save_poi_without_poi_type_message">Do you really want to save poi without POI type?</string>
|
<string name="save_poi_without_poi_type_message">Do you really want to save poi without POI type?</string>
|
||||||
<string name="poi_context_menu_modify_osm_change">Modify OSM change</string>
|
<string name="poi_context_menu_modify_osm_change">Modify OSM change</string>
|
||||||
<string name="use_dashboard_btn">Launch dashboard</string>
|
<string name="use_dashboard_btn">Use dashboard</string>
|
||||||
<string name="use_drawer_btn">Launch map</string>
|
<string name="use_drawer_btn">Use menu</string>
|
||||||
<string name="dashboard_or_drawer_title">New startup choice</string>
|
<string name="dashboard_or_drawer_title">Dashboard or menu control</string>
|
||||||
<string name="dashboard_or_drawer_description">You can now select if the app directly launches the map screen or always displays the dashboard first. Your choice can always be changed in the dashboard settings.</string>
|
<string name="dashboard_or_drawer_description">There is a new choice to primarily control the app via the flexible dashboard or a static menu. Your choice can always be changed in the dashboard settings.</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
@ -41,6 +41,7 @@ public class PointDescription {
|
||||||
public static final String POINT_TYPE_OSM_BUG = "bug";
|
public static final String POINT_TYPE_OSM_BUG = "bug";
|
||||||
public static final String POINT_TYPE_WORLD_REGION = "world_region";
|
public static final String POINT_TYPE_WORLD_REGION = "world_region";
|
||||||
public static final String POINT_TYPE_GPX_ITEM = "gpx_item";
|
public static final String POINT_TYPE_GPX_ITEM = "gpx_item";
|
||||||
|
public static final String POINT_TYPE_WORLD_REGION_SHOW_ON_MAP = "world_region_show_on_map";
|
||||||
|
|
||||||
|
|
||||||
public static final PointDescription LOCATION_POINT = new PointDescription(POINT_TYPE_LOCATION, "");
|
public static final PointDescription LOCATION_POINT = new PointDescription(POINT_TYPE_LOCATION, "");
|
||||||
|
@ -149,6 +150,10 @@ public class PointDescription {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean contextMenuDisabled() {
|
||||||
|
return POINT_TYPE_WORLD_REGION_SHOW_ON_MAP.equals(type);
|
||||||
|
}
|
||||||
|
|
||||||
public boolean isLocation() {
|
public boolean isLocation() {
|
||||||
return POINT_TYPE_LOCATION.equals(type);
|
return POINT_TYPE_LOCATION.equals(type);
|
||||||
}
|
}
|
||||||
|
|
|
@ -96,8 +96,6 @@ public class OsmAndAppCustomization {
|
||||||
public void prepareOptionsMenu(MapActivity mapActivity, ContextMenuAdapter optionsMenuHelper) {
|
public void prepareOptionsMenu(MapActivity mapActivity, ContextMenuAdapter optionsMenuHelper) {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void prepareLocationMenu(MapActivity mapActivity, ContextMenuAdapter adapter) {
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getIndexesUrl() {
|
public String getIndexesUrl() {
|
||||||
return "http://"+IndexConstants.INDEX_DOWNLOAD_DOMAIN+"/get_indexes?gzip&" + Version.getVersionAsURLParam(app); //$NON-NLS-1$;
|
return "http://"+IndexConstants.INDEX_DOWNLOAD_DOMAIN+"/get_indexes?gzip&" + Version.getVersionAsURLParam(app); //$NON-NLS-1$;
|
||||||
|
|
|
@ -1449,7 +1449,6 @@ public class OsmandSettings {
|
||||||
public final static String POINT_NAVIGATE_LAT = "point_navigate_lat"; //$NON-NLS-1$
|
public final static String POINT_NAVIGATE_LAT = "point_navigate_lat"; //$NON-NLS-1$
|
||||||
public final static String POINT_NAVIGATE_LON = "point_navigate_lon"; //$NON-NLS-1$
|
public final static String POINT_NAVIGATE_LON = "point_navigate_lon"; //$NON-NLS-1$
|
||||||
public final static String POINT_NAVIGATE_ROUTE = "point_navigate_route_integer"; //$NON-NLS-1$
|
public final static String POINT_NAVIGATE_ROUTE = "point_navigate_route_integer"; //$NON-NLS-1$
|
||||||
public final static int NAVIGATE_CURRENT_GPX = 2;
|
|
||||||
public final static int NAVIGATE = 1;
|
public final static int NAVIGATE = 1;
|
||||||
public final static String POINT_NAVIGATE_DESCRIPTION = "point_navigate_description"; //$NON-NLS-1$
|
public final static String POINT_NAVIGATE_DESCRIPTION = "point_navigate_description"; //$NON-NLS-1$
|
||||||
public final static String START_POINT_LAT = "start_point_lat"; //$NON-NLS-1$
|
public final static String START_POINT_LAT = "start_point_lat"; //$NON-NLS-1$
|
||||||
|
@ -1501,6 +1500,9 @@ public class OsmandSettings {
|
||||||
return settingsAPI.edit(globalPreferences).remove(INTERMEDIATE_POINTS).remove(INTERMEDIATE_POINTS_DESCRIPTION).commit();
|
return settingsAPI.edit(globalPreferences).remove(INTERMEDIATE_POINTS).remove(INTERMEDIATE_POINTS_DESCRIPTION).commit();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public final CommonPreference<Boolean> USE_INTERMEDIATE_POINTS_NAVIGATION =
|
||||||
|
new BooleanPreference("use_intermediate_points_navigation", false).makeGlobal().cache();
|
||||||
|
|
||||||
public List<String> getIntermediatePointDescriptions(int sz) {
|
public List<String> getIntermediatePointDescriptions(int sz) {
|
||||||
List<String> list = new ArrayList<String>();
|
List<String> list = new ArrayList<String>();
|
||||||
String ip = settingsAPI.getString(globalPreferences,INTERMEDIATE_POINTS_DESCRIPTION, "");
|
String ip = settingsAPI.getString(globalPreferences,INTERMEDIATE_POINTS_DESCRIPTION, "");
|
||||||
|
@ -1604,11 +1606,7 @@ public class OsmandSettings {
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean navigateDialog() {
|
public boolean navigateDialog() {
|
||||||
return navigateDialog(false);
|
return settingsAPI.edit(globalPreferences).putInt(POINT_NAVIGATE_ROUTE, NAVIGATE).commit();
|
||||||
}
|
|
||||||
|
|
||||||
public boolean navigateDialog(boolean gpx) {
|
|
||||||
return settingsAPI.edit(globalPreferences).putInt(POINT_NAVIGATE_ROUTE, gpx ? NAVIGATE_CURRENT_GPX : NAVIGATE).commit();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -123,13 +123,31 @@ public class TargetPointsHelper {
|
||||||
return intermediatePoints;
|
return intermediatePoints;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<TargetPoint> getIntermediatePointsNavigation() {
|
||||||
|
List<TargetPoint> intermediatePoints = new ArrayList<>();
|
||||||
|
if (settings.USE_INTERMEDIATE_POINTS_NAVIGATION.get()) {
|
||||||
|
for (TargetPoint t : intermediatePoints) {
|
||||||
|
intermediatePoints.add(t);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return intermediatePoints;
|
||||||
|
}
|
||||||
|
|
||||||
public List<LatLon> getIntermediatePointsLatLon() {
|
public List<LatLon> getIntermediatePointsLatLon() {
|
||||||
List<LatLon> intermediatePointsLatLon = new ArrayList<LatLon>();
|
List<LatLon> intermediatePointsLatLon = new ArrayList<LatLon>();
|
||||||
|
|
||||||
for (TargetPoint t : intermediatePoints) {
|
for (TargetPoint t : intermediatePoints) {
|
||||||
intermediatePointsLatLon.add(t.point);
|
intermediatePointsLatLon.add(t.point);
|
||||||
}
|
}
|
||||||
|
return intermediatePointsLatLon;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<LatLon> getIntermediatePointsLatLonNavigation() {
|
||||||
|
List<LatLon> intermediatePointsLatLon = new ArrayList<LatLon>();
|
||||||
|
if (settings.USE_INTERMEDIATE_POINTS_NAVIGATION.get()) {
|
||||||
|
for (TargetPoint t : intermediatePoints) {
|
||||||
|
intermediatePointsLatLon.add(t.point);
|
||||||
|
}
|
||||||
|
}
|
||||||
return intermediatePointsLatLon;
|
return intermediatePointsLatLon;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -209,13 +227,14 @@ public class TargetPointsHelper {
|
||||||
private void updateRoutingHelper() {
|
private void updateRoutingHelper() {
|
||||||
LatLon start = settings.getPointToStart();
|
LatLon start = settings.getPointToStart();
|
||||||
Location lastKnownLocation = ctx.getLocationProvider().getLastKnownLocation();
|
Location lastKnownLocation = ctx.getLocationProvider().getLastKnownLocation();
|
||||||
|
List<LatLon> is = getIntermediatePointsLatLonNavigation();
|
||||||
if((routingHelper.isFollowingMode() && lastKnownLocation != null) || start == null) {
|
if((routingHelper.isFollowingMode() && lastKnownLocation != null) || start == null) {
|
||||||
routingHelper.setFinalAndCurrentLocation(settings.getPointToNavigate(),
|
routingHelper.setFinalAndCurrentLocation(settings.getPointToNavigate(),
|
||||||
settings.getIntermediatePoints(), lastKnownLocation);
|
is, lastKnownLocation);
|
||||||
} else {
|
} else {
|
||||||
Location loc = wrap(start);
|
Location loc = wrap(start);
|
||||||
routingHelper.setFinalAndCurrentLocation(settings.getPointToNavigate(),
|
routingHelper.setFinalAndCurrentLocation(settings.getPointToNavigate(),
|
||||||
settings.getIntermediatePoints(), loc);
|
is, loc);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -442,7 +442,7 @@ public class MapActivity extends AccessibleActivity implements DownloadEvents {
|
||||||
RoutingHelper routingHelper = app.getRoutingHelper();
|
RoutingHelper routingHelper = app.getRoutingHelper();
|
||||||
if (routingHelper.isFollowingMode()
|
if (routingHelper.isFollowingMode()
|
||||||
&& (!Algorithms.objectEquals(targets.getPointToNavigate().point, routingHelper.getFinalLocation()) || !Algorithms
|
&& (!Algorithms.objectEquals(targets.getPointToNavigate().point, routingHelper.getFinalLocation()) || !Algorithms
|
||||||
.objectEquals(targets.getIntermediatePointsLatLon(), routingHelper.getIntermediatePoints()))) {
|
.objectEquals(targets.getIntermediatePointsLatLonNavigation(), routingHelper.getIntermediatePoints()))) {
|
||||||
targets.updateRouteAndReferesh(true);
|
targets.updateRouteAndReferesh(true);
|
||||||
}
|
}
|
||||||
app.getLocationProvider().resumeAllUpdates();
|
app.getLocationProvider().resumeAllUpdates();
|
||||||
|
@ -516,7 +516,7 @@ public class MapActivity extends AccessibleActivity implements DownloadEvents {
|
||||||
|
|
||||||
getMyApplication().getTargetPointsHelper().navigateToPoint(new LatLon(lat, lon), false,
|
getMyApplication().getTargetPointsHelper().navigateToPoint(new LatLon(lat, lon), false,
|
||||||
-1);
|
-1);
|
||||||
getMapActions().enterRoutePlanningMode(null, null, false);
|
getMapActions().enterRoutePlanningModeGivenGpx(null, null, null, false);
|
||||||
} catch (NumberFormatException e) {
|
} catch (NumberFormatException e) {
|
||||||
AccessibleToast.makeText(this,
|
AccessibleToast.makeText(this,
|
||||||
getString(R.string.navigation_intent_invalid, schemeSpecificPart),
|
getString(R.string.navigation_intent_invalid, schemeSpecificPart),
|
||||||
|
@ -541,7 +541,7 @@ public class MapActivity extends AccessibleActivity implements DownloadEvents {
|
||||||
Location loc = new Location("map");
|
Location loc = new Location("map");
|
||||||
loc.setLatitude(mapView.getLatitude());
|
loc.setLatitude(mapView.getLatitude());
|
||||||
loc.setLongitude(mapView.getLongitude());
|
loc.setLongitude(mapView.getLongitude());
|
||||||
getMapActions().enterRoutePlanningMode(null, null, status == OsmandSettings.NAVIGATE_CURRENT_GPX);
|
getMapActions().enterRoutePlanningModeGivenGpx(null, null, null, true);
|
||||||
if (dashboardOnMap.isVisible()) {
|
if (dashboardOnMap.isVisible()) {
|
||||||
dashboardOnMap.hideDashboard();
|
dashboardOnMap.hideDashboard();
|
||||||
}
|
}
|
||||||
|
@ -550,7 +550,7 @@ public class MapActivity extends AccessibleActivity implements DownloadEvents {
|
||||||
if (dashboardOnMap.isVisible()) {
|
if (dashboardOnMap.isVisible()) {
|
||||||
dashboardOnMap.hideDashboard();
|
dashboardOnMap.hideDashboard();
|
||||||
}
|
}
|
||||||
if (mapLabelToShow != null) {
|
if (mapLabelToShow != null && !mapLabelToShow.contextMenuDisabled()) {
|
||||||
mapContextMenu.setMapCenter(latLonToShow);
|
mapContextMenu.setMapCenter(latLonToShow);
|
||||||
mapContextMenu.setMapPosition(mapView.getMapPosition());
|
mapContextMenu.setMapPosition(mapView.getMapPosition());
|
||||||
mapContextMenu.show(latLonToShow, mapLabelToShow, toShow);
|
mapContextMenu.show(latLonToShow, mapLabelToShow, toShow);
|
||||||
|
|
|
@ -87,64 +87,6 @@ public class MapActivityActions implements DialogProvider {
|
||||||
routingHelper = mapActivity.getMyApplication().getRoutingHelper();
|
routingHelper = mapActivity.getMyApplication().getRoutingHelper();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void showNavigationContextMenuPoint(final double latitude, final double longitude) {
|
|
||||||
final ContextMenuAdapter adapter = new ContextMenuAdapter(mapActivity);
|
|
||||||
|
|
||||||
if (!mapActivity.getRoutingHelper().isFollowingMode() && !mapActivity.getRoutingHelper().isRoutePlanningMode()) {
|
|
||||||
adapter.item(R.string.context_menu_item_directions_to).iconColor(
|
|
||||||
R.drawable.ic_action_gdirections_dark).reg();
|
|
||||||
adapter.item(R.string.context_menu_item_directions_from).iconColor(
|
|
||||||
R.drawable.ic_action_gdirections_dark).reg();
|
|
||||||
}
|
|
||||||
final TargetPointsHelper targets = getMyApplication().getTargetPointsHelper();
|
|
||||||
if (targets.getPointToNavigate() != null) {
|
|
||||||
adapter.item(R.string.context_menu_item_destination_point).iconColor(R.drawable.ic_action_flag_dark).reg();
|
|
||||||
adapter.item(R.string.context_menu_item_intermediate_point).iconColor(R.drawable.ic_action_flage_dark).reg();
|
|
||||||
// For button-less search UI
|
|
||||||
} else {
|
|
||||||
adapter.item(R.string.context_menu_item_destination_point).iconColor(R.drawable.ic_action_flag_dark).reg();
|
|
||||||
}
|
|
||||||
|
|
||||||
getMyApplication().getAppCustomization().prepareLocationMenu(mapActivity, adapter);
|
|
||||||
|
|
||||||
final AlertDialog.Builder builder = new AlertDialog.Builder(mapActivity);
|
|
||||||
builder.setTitle(R.string.get_directions);
|
|
||||||
final ArrayAdapter<?> listAdapter =
|
|
||||||
adapter.createListAdapter(mapActivity, getMyApplication().getSettings().isLightContent());
|
|
||||||
builder.setAdapter(listAdapter, new DialogInterface.OnClickListener() {
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onClick(DialogInterface dialog, int which) {
|
|
||||||
int standardId = adapter.getElementId(which);
|
|
||||||
OnContextMenuClick click = adapter.getClickAdapter(which);
|
|
||||||
if (click != null) {
|
|
||||||
click.onContextMenuClick(listAdapter, standardId, which, false);
|
|
||||||
} else if (standardId == R.string.context_menu_item_directions_to) {
|
|
||||||
targets.navigateToPoint(new LatLon(latitude, longitude), true, -1, null);
|
|
||||||
enterRoutePlanningMode(null, null, false);
|
|
||||||
} else if (standardId == R.string.context_menu_item_directions_from) {
|
|
||||||
enterRoutePlanningMode(new LatLon(latitude, longitude),
|
|
||||||
mapActivity.getContextMenu().getPointDescription(), false);
|
|
||||||
} else if (standardId == R.string.context_menu_item_intermediate_point ||
|
|
||||||
standardId == R.string.context_menu_item_destination_point) {
|
|
||||||
boolean dest = standardId == R.string.context_menu_item_destination_point;
|
|
||||||
targets.navigateToPoint(new LatLon(latitude, longitude), true,
|
|
||||||
dest ? -1 : targets.getIntermediatePoints().size(),
|
|
||||||
mapActivity.getContextMenu().getPointDescription());
|
|
||||||
if (targets.getIntermediatePoints().size() > 0) {
|
|
||||||
openIntermediatePointsDialog();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
builder.create().show();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void directionTo(double latitude, double longitude, PointDescription pd) {
|
|
||||||
final TargetPointsHelper targets = getMyApplication().getTargetPointsHelper();
|
|
||||||
targets.navigateToPoint(new LatLon(latitude, longitude), true, targets.getIntermediatePoints().size() + 1, pd);
|
|
||||||
enterRoutePlanningMode(null, null, false);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void addAsWaypoint(double latitude, double longitude, PointDescription pd) {
|
public void addAsWaypoint(double latitude, double longitude, PointDescription pd) {
|
||||||
TargetPointsHelper targets = getMyApplication().getTargetPointsHelper();
|
TargetPointsHelper targets = getMyApplication().getTargetPointsHelper();
|
||||||
|
@ -336,7 +278,6 @@ public class MapActivityActions implements DialogProvider {
|
||||||
R.drawable.ic_action_gdirections_dark).reg();
|
R.drawable.ic_action_gdirections_dark).reg();
|
||||||
}
|
}
|
||||||
OsmandPlugin.registerMapContextMenu(mapActivity, latitude, longitude, adapter, selectedObj);
|
OsmandPlugin.registerMapContextMenu(mapActivity, latitude, longitude, adapter, selectedObj);
|
||||||
getMyApplication().getAppCustomization().prepareLocationMenu(mapActivity, adapter);
|
|
||||||
|
|
||||||
final AlertDialog.Builder builder = new AlertDialog.Builder(mapActivity);
|
final AlertDialog.Builder builder = new AlertDialog.Builder(mapActivity);
|
||||||
final ArrayAdapter<?> listAdapter =
|
final ArrayAdapter<?> listAdapter =
|
||||||
|
@ -358,7 +299,7 @@ public class MapActivityActions implements DialogProvider {
|
||||||
} else if (standardId == R.string.context_menu_item_directions_from) {
|
} else if (standardId == R.string.context_menu_item_directions_from) {
|
||||||
mapActivity.getContextMenu().hide();
|
mapActivity.getContextMenu().hide();
|
||||||
enterRoutePlanningMode(new LatLon(latitude, longitude),
|
enterRoutePlanningMode(new LatLon(latitude, longitude),
|
||||||
mapActivity.getContextMenu().getPointDescription(), false);
|
mapActivity.getContextMenu().getPointDescription());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -395,7 +336,8 @@ public class MapActivityActions implements DialogProvider {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void enterRoutePlanningMode(final LatLon from, final PointDescription fromName, boolean useCurrentGPX) {
|
public void enterRoutePlanningMode(final LatLon from, final PointDescription fromName) {
|
||||||
|
final boolean useIntermediatePointsByDefault = true;
|
||||||
List<SelectedGpxFile> selectedGPXFiles = mapActivity.getMyApplication().getSelectedGpxHelper()
|
List<SelectedGpxFile> selectedGPXFiles = mapActivity.getMyApplication().getSelectedGpxHelper()
|
||||||
.getSelectedGPXFiles();
|
.getSelectedGPXFiles();
|
||||||
final List<GPXFile> gpxFiles = new ArrayList<GPXFile>();
|
final List<GPXFile> gpxFiles = new ArrayList<GPXFile>();
|
||||||
|
@ -407,14 +349,14 @@ public class MapActivityActions implements DialogProvider {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (gpxFiles.size() > 0 && !useCurrentGPX) {
|
if (gpxFiles.size() > 0) {
|
||||||
AlertDialog.Builder bld = new AlertDialog.Builder(mapActivity);
|
AlertDialog.Builder bld = new AlertDialog.Builder(mapActivity);
|
||||||
if (gpxFiles.size() == 1) {
|
if (gpxFiles.size() == 1) {
|
||||||
bld.setMessage(R.string.use_displayed_track_for_navigation);
|
bld.setMessage(R.string.use_displayed_track_for_navigation);
|
||||||
bld.setPositiveButton(R.string.shared_string_yes, new DialogInterface.OnClickListener() {
|
bld.setPositiveButton(R.string.shared_string_yes, new DialogInterface.OnClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onClick(DialogInterface dialog, int which) {
|
public void onClick(DialogInterface dialog, int which) {
|
||||||
enterRoutePlanningModeImpl(gpxFiles.get(0), from, fromName);
|
enterRoutePlanningModeGivenGpx(gpxFiles.get(0), from, fromName, useIntermediatePointsByDefault);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
|
@ -436,7 +378,7 @@ public class MapActivityActions implements DialogProvider {
|
||||||
bld.setAdapter(adapter, new DialogInterface.OnClickListener() {
|
bld.setAdapter(adapter, new DialogInterface.OnClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onClick(DialogInterface dialogInterface, int i) {
|
public void onClick(DialogInterface dialogInterface, int i) {
|
||||||
enterRoutePlanningModeImpl(gpxFiles.get(i), from, fromName);
|
enterRoutePlanningModeGivenGpx(gpxFiles.get(i), from, fromName, useIntermediatePointsByDefault);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -444,17 +386,17 @@ public class MapActivityActions implements DialogProvider {
|
||||||
bld.setNegativeButton(R.string.shared_string_no, new DialogInterface.OnClickListener() {
|
bld.setNegativeButton(R.string.shared_string_no, new DialogInterface.OnClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onClick(DialogInterface dialog, int which) {
|
public void onClick(DialogInterface dialog, int which) {
|
||||||
enterRoutePlanningModeImpl(null, from, fromName);
|
enterRoutePlanningModeGivenGpx(null, from, fromName, useIntermediatePointsByDefault);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
bld.show();
|
bld.show();
|
||||||
} else {
|
} else {
|
||||||
enterRoutePlanningModeImpl(useCurrentGPX ? gpxFiles.get(0) : null, from, fromName);
|
enterRoutePlanningModeGivenGpx(null, from, fromName, useIntermediatePointsByDefault);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void enterRoutePlanningModeImpl(GPXFile gpxFile, LatLon from, PointDescription fromName) {
|
public void enterRoutePlanningModeGivenGpx(GPXFile gpxFile, LatLon from, PointDescription fromName, boolean useIntermediatePointsByDefault) {
|
||||||
|
settings.USE_INTERMEDIATE_POINTS_NAVIGATION.set(useIntermediatePointsByDefault);
|
||||||
OsmandApplication app = mapActivity.getMyApplication();
|
OsmandApplication app = mapActivity.getMyApplication();
|
||||||
TargetPointsHelper targets = app.getTargetPointsHelper();
|
TargetPointsHelper targets = app.getTargetPointsHelper();
|
||||||
|
|
||||||
|
@ -627,7 +569,7 @@ public class MapActivityActions implements DialogProvider {
|
||||||
@Override
|
@Override
|
||||||
public boolean onContextMenuClick(ArrayAdapter<?> adapter, int itemId, int pos, boolean isChecked) {
|
public boolean onContextMenuClick(ArrayAdapter<?> adapter, int itemId, int pos, boolean isChecked) {
|
||||||
if (!routingHelper.isFollowingMode() && !routingHelper.isRoutePlanningMode()) {
|
if (!routingHelper.isFollowingMode() && !routingHelper.isRoutePlanningMode()) {
|
||||||
enterRoutePlanningMode(null, null, false);
|
enterRoutePlanningMode(null, null);
|
||||||
} else {
|
} else {
|
||||||
mapActivity.getMapViewTrackingUtilities().switchToRoutePlanningMode();
|
mapActivity.getMapViewTrackingUtilities().switchToRoutePlanningMode();
|
||||||
mapActivity.refreshMap();
|
mapActivity.refreshMap();
|
||||||
|
|
|
@ -292,8 +292,8 @@ public class MapActivityLayers {
|
||||||
private void addFilterToList(final ContextMenuAdapter adapter, final List<PoiUIFilter> list, PoiUIFilter f) {
|
private void addFilterToList(final ContextMenuAdapter adapter, final List<PoiUIFilter> list, PoiUIFilter f) {
|
||||||
list.add(f);
|
list.add(f);
|
||||||
Item it = adapter.item(f.getName()).selected(-1);
|
Item it = adapter.item(f.getName()).selected(-1);
|
||||||
if (RenderingIcons.containsBigIcon(f.getSimplifiedId())) {
|
if (RenderingIcons.containsBigIcon(f.getIconId())) {
|
||||||
it.icon(RenderingIcons.getBigIconResourceId(f.getSimplifiedId()));
|
it.icon(RenderingIcons.getBigIconResourceId(f.getIconId()));
|
||||||
} else {
|
} else {
|
||||||
it.icon(R.drawable.mx_user_defined);
|
it.icon(R.drawable.mx_user_defined);
|
||||||
}
|
}
|
||||||
|
|
|
@ -199,17 +199,18 @@ public class SettingsNavigationActivity extends SettingsBaseActivity {
|
||||||
if (!mode.isDerivedRoutingFrom(ApplicationMode.CAR)) {
|
if (!mode.isDerivedRoutingFrom(ApplicationMode.CAR)) {
|
||||||
category.removePreference(speedLimitExceed);
|
category.removePreference(speedLimitExceed);
|
||||||
}
|
}
|
||||||
|
|
||||||
Integer[] delayIntervals = new Integer[] { -1, 3, 5, 7, 10, 15, 20 };
|
// deprecated 2.2
|
||||||
String[] delayIntervalNames = new String[delayIntervals.length];
|
// Integer[] delayIntervals = new Integer[] { -1, 3, 5, 7, 10, 15, 20 };
|
||||||
for (int i = 0; i < delayIntervals.length; i++) {
|
// String[] delayIntervalNames = new String[delayIntervals.length];
|
||||||
if (i == 0) {
|
// for (int i = 0; i < delayIntervals.length; i++) {
|
||||||
delayIntervalNames[i] = getString(R.string.auto_follow_route_never);
|
// if (i == 0) {
|
||||||
} else {
|
// delayIntervalNames[i] = getString(R.string.auto_follow_route_never);
|
||||||
delayIntervalNames[i] = delayIntervals[i] + " " + getString(R.string.int_seconds);
|
// } else {
|
||||||
}
|
// delayIntervalNames[i] = delayIntervals[i] + " " + getString(R.string.int_seconds);
|
||||||
}
|
// }
|
||||||
registerListPreference(settings.DELAY_TO_START_NAVIGATION, screen, delayIntervalNames, delayIntervals);
|
// }
|
||||||
|
// registerListPreference(settings.DELAY_TO_START_NAVIGATION, screen, delayIntervalNames, delayIntervals);
|
||||||
|
|
||||||
|
|
||||||
if(getIntent() != null && getIntent().hasExtra(INTENT_SKIP_DIALOG)) {
|
if(getIntent() != null && getIntent().hasExtra(INTENT_SKIP_DIALOG)) {
|
||||||
|
|
|
@ -268,8 +268,8 @@ public class SearchPoiFilterFragment extends OsmAndListFragment implements Searc
|
||||||
String name;
|
String name;
|
||||||
if (item instanceof PoiUIFilter) {
|
if (item instanceof PoiUIFilter) {
|
||||||
final PoiUIFilter model = (PoiUIFilter) item;
|
final PoiUIFilter model = (PoiUIFilter) item;
|
||||||
if (RenderingIcons.containsBigIcon(model.getSimplifiedId())) {
|
if (RenderingIcons.containsBigIcon(model.getIconId())) {
|
||||||
icon.setImageDrawable(RenderingIcons.getBigIcon(getActivity(), model.getSimplifiedId()));
|
icon.setImageDrawable(RenderingIcons.getBigIcon(getActivity(), model.getIconId()));
|
||||||
} else if(PoiUIFilter.BY_NAME_FILTER_ID.equals(model.getFilterId()) ||
|
} else if(PoiUIFilter.BY_NAME_FILTER_ID.equals(model.getFilterId()) ||
|
||||||
model instanceof NominatimPoiFilter){
|
model instanceof NominatimPoiFilter){
|
||||||
icon.setImageResource(R.drawable.mx_name_finder);
|
icon.setImageResource(R.drawable.mx_name_finder);
|
||||||
|
|
|
@ -334,9 +334,13 @@ public class MapViewTrackingUtilities implements OsmAndLocationListener, IMapLoc
|
||||||
bottom = Math.min(bottom, l.getLatitude());
|
bottom = Math.min(bottom, l.getLatitude());
|
||||||
}
|
}
|
||||||
RotatedTileBox tb = new RotatedTileBox(rt);
|
RotatedTileBox tb = new RotatedTileBox(rt);
|
||||||
tb.setPixelDimensions(3 * tb.getPixWidth() / 4, 3 * tb.getPixHeight() / 4);
|
|
||||||
double clat = bottom / 2 + top / 2;
|
tb.setPixelDimensions(5 * tb.getPixWidth() / 6, 5 * tb.getPixHeight() / 6);
|
||||||
|
double clat = 5 * bottom / 4 - top / 4;
|
||||||
double clon = left / 2 + right / 2;
|
double clon = left / 2 + right / 2;
|
||||||
|
// TODO for landscape menu
|
||||||
|
// double clat = bottom / 2 + top / 2;
|
||||||
|
// double clon = 5 * left / 4 - right / 4;
|
||||||
tb.setLatLonCenter(clat, clon);
|
tb.setLatLonCenter(clat, clon);
|
||||||
while(tb.getZoom() >= 7 && (!tb.containsLatLon(top, left) || !tb.containsLatLon(bottom, right))) {
|
while(tb.getZoom() >= 7 && (!tb.containsLatLon(top, left) || !tb.containsLatLon(bottom, right))) {
|
||||||
tb.setZoom(tb.getZoom() - 1);
|
tb.setZoom(tb.getZoom() - 1);
|
||||||
|
|
|
@ -603,7 +603,7 @@ public class DashboardOnMap implements ObservableScrollViewCallbacks {
|
||||||
public void navigationAction() {
|
public void navigationAction() {
|
||||||
RoutingHelper routingHelper = mapActivity.getRoutingHelper();
|
RoutingHelper routingHelper = mapActivity.getRoutingHelper();
|
||||||
if (!routingHelper.isFollowingMode() && !routingHelper.isRoutePlanningMode()) {
|
if (!routingHelper.isFollowingMode() && !routingHelper.isRoutePlanningMode()) {
|
||||||
mapActivity.getMapActions().enterRoutePlanningMode(null, null, false);
|
mapActivity.getMapActions().enterRoutePlanningMode(null, null);
|
||||||
} else {
|
} else {
|
||||||
mapActivity.getRoutingHelper().setRoutePlanningMode(true);
|
mapActivity.getRoutingHelper().setRoutePlanningMode(true);
|
||||||
mapActivity.getMapViewTrackingUtilities().switchToRoutePlanningMode();
|
mapActivity.getMapViewTrackingUtilities().switchToRoutePlanningMode();
|
||||||
|
|
|
@ -31,6 +31,7 @@ import net.osmand.IProgress;
|
||||||
import net.osmand.PlatformUtil;
|
import net.osmand.PlatformUtil;
|
||||||
import net.osmand.access.AccessibleToast;
|
import net.osmand.access.AccessibleToast;
|
||||||
import net.osmand.data.LatLon;
|
import net.osmand.data.LatLon;
|
||||||
|
import net.osmand.data.PointDescription;
|
||||||
import net.osmand.map.WorldRegion;
|
import net.osmand.map.WorldRegion;
|
||||||
import net.osmand.map.WorldRegion.RegionParams;
|
import net.osmand.map.WorldRegion.RegionParams;
|
||||||
import net.osmand.plus.OsmandApplication;
|
import net.osmand.plus.OsmandApplication;
|
||||||
|
@ -793,7 +794,12 @@ public class DownloadActivity extends ActionBarProgressActivity implements Downl
|
||||||
@Override
|
@Override
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
OsmandApplication app = (OsmandApplication) getActivity().getApplication();
|
OsmandApplication app = (OsmandApplication) getActivity().getApplication();
|
||||||
app.getSettings().setMapLocationToShow(regionCenter.getLatitude(), regionCenter.getLongitude(), 5, null);
|
app.getSettings().setMapLocationToShow(
|
||||||
|
regionCenter.getLatitude(),
|
||||||
|
regionCenter.getLongitude(),
|
||||||
|
5,
|
||||||
|
new PointDescription(PointDescription.POINT_TYPE_WORLD_REGION_SHOW_ON_MAP, ""));
|
||||||
|
|
||||||
dismiss();
|
dismiss();
|
||||||
MapActivity.launchMapActivityMoveToTop(getActivity());
|
MapActivity.launchMapActivityMoveToTop(getActivity());
|
||||||
}
|
}
|
||||||
|
|
|
@ -182,7 +182,9 @@ public class GpxUiHelper {
|
||||||
}
|
}
|
||||||
|
|
||||||
for (SelectedGpxFile selectedGpx : selectedGpxFiles) {
|
for (SelectedGpxFile selectedGpx : selectedGpxFiles) {
|
||||||
list.add(selectedGpx.getGpxFile().path.substring(gpxDirLength + 1));
|
if (!selectedGpx.getGpxFile().showCurrentTrack) {
|
||||||
|
list.add(selectedGpx.getGpxFile().path.substring(gpxDirLength + 1));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
final ContextMenuAdapter adapter = createGpxContextMenuAdapter(activity, list, null, false,
|
final ContextMenuAdapter adapter = createGpxContextMenuAdapter(activity, list, null, false,
|
||||||
|
|
|
@ -4,12 +4,12 @@ import android.support.v4.app.Fragment;
|
||||||
import android.support.v7.app.AlertDialog;
|
import android.support.v7.app.AlertDialog;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.widget.LinearLayout;
|
import android.widget.LinearLayout;
|
||||||
|
|
||||||
import net.osmand.CallbackWithObject;
|
import net.osmand.CallbackWithObject;
|
||||||
import net.osmand.data.FavouritePoint;
|
import net.osmand.data.FavouritePoint;
|
||||||
import net.osmand.data.LatLon;
|
import net.osmand.data.LatLon;
|
||||||
import net.osmand.data.PointDescription;
|
import net.osmand.data.PointDescription;
|
||||||
import net.osmand.plus.ContextMenuAdapter;
|
import net.osmand.plus.ContextMenuAdapter;
|
||||||
|
import net.osmand.plus.TargetPointsHelper;
|
||||||
import net.osmand.plus.GPXUtilities.GPXFile;
|
import net.osmand.plus.GPXUtilities.GPXFile;
|
||||||
import net.osmand.plus.GPXUtilities.WptPt;
|
import net.osmand.plus.GPXUtilities.WptPt;
|
||||||
import net.osmand.plus.GpxSelectionHelper.SelectedGpxFile;
|
import net.osmand.plus.GpxSelectionHelper.SelectedGpxFile;
|
||||||
|
@ -352,9 +352,11 @@ public class MapContextMenu extends MenuTitleController {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void fabPressed() {
|
public void fabPressed() {
|
||||||
mapActivity.getMapActions().directionTo(latLon.getLatitude(), latLon.getLongitude(), getPointDescription());
|
|
||||||
hide();
|
hide();
|
||||||
mapActivity.getMapLayers().getMapControlsLayer().showRouteInfoControlDialog();
|
final TargetPointsHelper targets = mapActivity.getMyApplication().getTargetPointsHelper();
|
||||||
|
targets.navigateToPoint(latLon, true, targets.getIntermediatePoints().size() + 1, getPointDescription());
|
||||||
|
mapActivity.getMapActions().enterRoutePlanningModeGivenGpx(null, null, null, false);
|
||||||
|
// mapActivity.getMapLayers().getMapControlsLayer().showRouteInfoControlDialog();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void buttonWaypointPressed() {
|
public void buttonWaypointPressed() {
|
||||||
|
@ -406,7 +408,7 @@ public class MapContextMenu extends MenuTitleController {
|
||||||
|
|
||||||
final List<SelectedGpxFile> list
|
final List<SelectedGpxFile> list
|
||||||
= mapActivity.getMyApplication().getSelectedGpxHelper().getSelectedGPXFiles();
|
= mapActivity.getMyApplication().getSelectedGpxHelper().getSelectedGPXFiles();
|
||||||
if (list.isEmpty()) {
|
if (list.isEmpty() || (list.size() == 1 && list.get(0).getGpxFile().showCurrentTrack)) {
|
||||||
GPXFile gpxFile = mapActivity.getMyApplication().getSavingTrackHelper().getCurrentGpx();
|
GPXFile gpxFile = mapActivity.getMyApplication().getSavingTrackHelper().getCurrentGpx();
|
||||||
getWptPtPointEditor().add(gpxFile, latLon, title);
|
getWptPtPointEditor().add(gpxFile, latLon, title);
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -59,6 +59,7 @@ public class MapMultiSelectionMenuFragment extends Fragment implements AdapterVi
|
||||||
@Override
|
@Override
|
||||||
public void onStart() {
|
public void onStart() {
|
||||||
super.onStart();
|
super.onStart();
|
||||||
|
menu.getMapActivity().getMapLayers().getMapControlsLayer().setControlsClickable(false);
|
||||||
menu.getMapActivity().getContextMenu().setBaseFragmentVisibility(false);
|
menu.getMapActivity().getContextMenu().setBaseFragmentVisibility(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -69,6 +70,7 @@ public class MapMultiSelectionMenuFragment extends Fragment implements AdapterVi
|
||||||
menu.onStop();
|
menu.onStop();
|
||||||
}
|
}
|
||||||
menu.getMapActivity().getContextMenu().setBaseFragmentVisibility(true);
|
menu.getMapActivity().getContextMenu().setBaseFragmentVisibility(true);
|
||||||
|
menu.getMapActivity().getMapLayers().getMapControlsLayer().setControlsClickable(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void showInstance(final MapActivity mapActivity) {
|
public static void showInstance(final MapActivity mapActivity) {
|
||||||
|
|
|
@ -187,6 +187,7 @@ public class EditPoiData {
|
||||||
if(pt != null) {
|
if(pt != null) {
|
||||||
tagValues.remove(pt.getOsmTag());
|
tagValues.remove(pt.getOsmTag());
|
||||||
tagValues.remove(pt.getOsmTag2());
|
tagValues.remove(pt.getOsmTag2());
|
||||||
|
category = pt.getCategory();
|
||||||
}
|
}
|
||||||
notifyDatasetChanged(POI_TYPE_TAG);
|
notifyDatasetChanged(POI_TYPE_TAG);
|
||||||
}
|
}
|
||||||
|
|
|
@ -44,7 +44,6 @@ import android.widget.ImageButton;
|
||||||
import android.widget.LinearLayout;
|
import android.widget.LinearLayout;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
import net.osmand.CallbackWithObject;
|
import net.osmand.CallbackWithObject;
|
||||||
import net.osmand.PlatformUtil;
|
import net.osmand.PlatformUtil;
|
||||||
import net.osmand.access.AccessibleToast;
|
import net.osmand.access.AccessibleToast;
|
||||||
|
@ -253,17 +252,35 @@ public class EditPoiDialogFragment extends DialogFragment {
|
||||||
@Override
|
@Override
|
||||||
public void afterTextChanged(Editable s) {
|
public void afterTextChanged(Editable s) {
|
||||||
if (!getEditPoiData().isInEdit()) {
|
if (!getEditPoiData().isInEdit()) {
|
||||||
PoiType pt = getEditPoiData().getAllTranslatedSubTypes().get(s.toString().toLowerCase());
|
|
||||||
if(pt != null) {
|
|
||||||
poiTypeTextInputLayout.setHint(pt.getCategory().getTranslation());
|
|
||||||
}
|
|
||||||
getEditPoiData().updateTypeTag(s.toString());
|
getEditPoiData().updateTypeTag(s.toString());
|
||||||
|
poiTypeTextInputLayout.setHint(editPoiData.getPoiCategory().getTranslation());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
poiNameEditText.setOnEditorActionListener(mOnEditorActionListener);
|
poiNameEditText.setOnEditorActionListener(mOnEditorActionListener);
|
||||||
poiTypeEditText.setOnEditorActionListener(mOnEditorActionListener);
|
poiTypeEditText.setOnEditorActionListener(mOnEditorActionListener);
|
||||||
poiTypeEditText.setText(editPoiData.getPoiTypeString());
|
poiTypeEditText.setText(editPoiData.getPoiTypeString());
|
||||||
|
poiTypeEditText.setOnTouchListener(new View.OnTouchListener() {
|
||||||
|
@Override
|
||||||
|
public boolean onTouch(final View v, MotionEvent event) {
|
||||||
|
final EditText editText = (EditText) v;
|
||||||
|
final int DRAWABLE_RIGHT = 2;
|
||||||
|
if (event.getAction() == MotionEvent.ACTION_UP) {
|
||||||
|
if (event.getX() >= (editText.getRight()
|
||||||
|
- editText.getCompoundDrawables()[DRAWABLE_RIGHT].getBounds().width()
|
||||||
|
- editText.getPaddingRight())) {
|
||||||
|
if (editPoiData.getPoiCategory() != null) {
|
||||||
|
DialogFragment dialogFragment =
|
||||||
|
PoiSubTypeDialogFragment.createInstance(editPoiData.getPoiCategory());
|
||||||
|
dialogFragment.show(getChildFragmentManager(), "PoiSubTypeDialogFragment");
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
Button saveButton = (Button) view.findViewById(R.id.saveButton);
|
Button saveButton = (Button) view.findViewById(R.id.saveButton);
|
||||||
saveButton.setText(mOpenstreetmapUtil instanceof OpenstreetmapRemoteUtil
|
saveButton.setText(mOpenstreetmapUtil instanceof OpenstreetmapRemoteUtil
|
||||||
|
@ -304,9 +321,11 @@ public class EditPoiDialogFragment extends DialogFragment {
|
||||||
} else {
|
} else {
|
||||||
new SaveWithAdvancedTagsDialogFragment().show(getChildFragmentManager(), "dialog");
|
new SaveWithAdvancedTagsDialogFragment().show(getChildFragmentManager(), "dialog");
|
||||||
}
|
}
|
||||||
return;
|
} else if(editPoiData.getPoiCategory() == getMyApplication().getPoiTypes().getOtherPoiCategory()) {
|
||||||
|
poiTypeEditText.setError(getResources().getString(R.string.please_specify_poi_type));
|
||||||
|
} else {
|
||||||
|
save();
|
||||||
}
|
}
|
||||||
save();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void save() {
|
private void save() {
|
||||||
|
@ -446,41 +465,26 @@ public class EditPoiDialogFragment extends DialogFragment {
|
||||||
}.execute();
|
}.execute();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void updateType(PoiCategory type) {
|
public void setPoiCategory(PoiCategory type) {
|
||||||
editPoiData.updateType(type);
|
editPoiData.updateType(type);
|
||||||
poiTypeEditText.setText(editPoiData.getPoiTypeString());
|
poiTypeEditText.setText(editPoiData.getPoiTypeString());
|
||||||
poiTypeTextInputLayout.setHint(editPoiData.getPoiCategory().getTranslation());
|
|
||||||
setAdapterForPoiTypeEditText();
|
setAdapterForPoiTypeEditText();
|
||||||
poiTypeEditText.setOnTouchListener(new View.OnTouchListener() {
|
|
||||||
@Override
|
|
||||||
public boolean onTouch(final View v, MotionEvent event) {
|
|
||||||
final EditText editText = (EditText) v;
|
|
||||||
final int DRAWABLE_RIGHT = 2;
|
|
||||||
if (event.getAction() == MotionEvent.ACTION_UP) {
|
|
||||||
if (event.getX() >= (editText.getRight()
|
|
||||||
- editText.getCompoundDrawables()[DRAWABLE_RIGHT].getBounds().width()
|
|
||||||
- editText.getPaddingRight())) {
|
|
||||||
if (editPoiData.getPoiCategory() != null) {
|
|
||||||
DialogFragment dialogFragment =
|
|
||||||
PoiSubTypeDialogFragment.createInstance(editPoiData.getPoiCategory());
|
|
||||||
dialogFragment.show(getChildFragmentManager(), "PoiSubTypeDialogFragment");
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void setAdapterForPoiTypeEditText() {
|
private void setAdapterForPoiTypeEditText() {
|
||||||
final Map<String, PoiType> subCategories = new LinkedHashMap<>();
|
final Map<String, PoiType> subCategories = new LinkedHashMap<>();
|
||||||
for (Map.Entry<String, PoiType> s : editPoiData.getAllTranslatedSubTypes().entrySet()) {
|
PoiCategory ct = editPoiData.getPoiCategory();
|
||||||
if (!subCategories.containsKey(s.getKey())) {
|
if(ct != null) {
|
||||||
subCategories.put(Algorithms.capitalizeFirstLetterAndLowercase(s.getKey()), s.getValue());
|
for (PoiType s : ct.getPoiTypes()) {
|
||||||
|
if(!s.isReference() && !s.isNotEditableOsm() && s.getBaseLangType() == null) {
|
||||||
|
addMapEntryAdapter(subCategories, s.getTranslation(), s);
|
||||||
|
addMapEntryAdapter(subCategories, s.getKeyName().replace('_', ' '), s);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
for (Map.Entry<String, PoiType> s : editPoiData.getAllTranslatedSubTypes().entrySet()) {
|
||||||
|
addMapEntryAdapter(subCategories, s.getKey(), s.getValue());
|
||||||
|
}
|
||||||
final ArrayAdapter<Object> adapter;
|
final ArrayAdapter<Object> adapter;
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
|
||||||
adapter = new ArrayAdapter<>(getActivity(),
|
adapter = new ArrayAdapter<>(getActivity(),
|
||||||
|
@ -513,14 +517,8 @@ public class EditPoiDialogFragment extends DialogFragment {
|
||||||
@Override
|
@Override
|
||||||
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
|
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
|
||||||
Object item = parent.getAdapter().getItem(position);
|
Object item = parent.getAdapter().getItem(position);
|
||||||
//noinspection SuspiciousMethodCalls
|
poiTypeEditText.setText(item.toString());
|
||||||
if (subCategories.containsKey(item.toString().toLowerCase())) {
|
setAdapterForPoiTypeEditText();
|
||||||
//noinspection SuspiciousMethodCalls
|
|
||||||
PoiType pt = subCategories.get(item);
|
|
||||||
String keyName = pt.getKeyName();
|
|
||||||
poiTypeTextInputLayout.setHint(pt.getCategory().getTranslation());
|
|
||||||
poiTypeEditText.setText(keyName);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -530,6 +528,12 @@ public class EditPoiDialogFragment extends DialogFragment {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void addMapEntryAdapter(final Map<String, PoiType> subCategories, String key, PoiType v) {
|
||||||
|
if (!subCategories.containsKey(key.toLowerCase())) {
|
||||||
|
subCategories.put(Algorithms.capitalizeFirstLetterAndLowercase(key), v);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private OsmandApplication getMyApplication() {
|
private OsmandApplication getMyApplication() {
|
||||||
return (OsmandApplication) getActivity().getApplication();
|
return (OsmandApplication) getActivity().getApplication();
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package net.osmand.plus.osmedit.dialogs;
|
package net.osmand.plus.osmedit.dialogs;
|
||||||
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
import java.util.TreeSet;
|
||||||
|
|
||||||
import net.osmand.osm.MapPoiTypes;
|
import net.osmand.osm.MapPoiTypes;
|
||||||
import net.osmand.osm.PoiCategory;
|
import net.osmand.osm.PoiCategory;
|
||||||
|
@ -24,8 +24,16 @@ public class PoiSubTypeDialogFragment extends DialogFragment {
|
||||||
MapPoiTypes poiTypes = ((OsmandApplication) getActivity().getApplication()).getPoiTypes();
|
MapPoiTypes poiTypes = ((OsmandApplication) getActivity().getApplication()).getPoiTypes();
|
||||||
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
|
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
|
||||||
final PoiCategory a = poiTypes.getPoiCategoryByName((String) getArguments().getSerializable(KEY_POI_CATEGORY));
|
final PoiCategory a = poiTypes.getPoiCategoryByName((String) getArguments().getSerializable(KEY_POI_CATEGORY));
|
||||||
final Map<String, PoiType> allTranslatedNames = poiTypes.getAllTranslatedNames(a, true);
|
Set<String> strings = new TreeSet<>();
|
||||||
Set<String> strings = allTranslatedNames.keySet();
|
if(a == poiTypes.getOtherPoiCategory()) {
|
||||||
|
for (PoiCategory category : poiTypes.getCategories(false)) {
|
||||||
|
if (!category.isNotEditableOsm()) {
|
||||||
|
addCategory(category, strings);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
addCategory(a, strings);
|
||||||
|
}
|
||||||
final String[] subCats = strings.toArray(new String[strings.size()]);
|
final String[] subCats = strings.toArray(new String[strings.size()]);
|
||||||
builder.setItems(subCats, new DialogInterface.OnClickListener() {
|
builder.setItems(subCats, new DialogInterface.OnClickListener() {
|
||||||
@Override
|
@Override
|
||||||
|
@ -37,6 +45,14 @@ public class PoiSubTypeDialogFragment extends DialogFragment {
|
||||||
return builder.create();
|
return builder.create();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void addCategory(final PoiCategory a, Set<String> strings) {
|
||||||
|
for (PoiType s : a.getPoiTypes()) {
|
||||||
|
if (!s.isReference() && !s.isNotEditableOsm() && s.getBaseLangType() == null) {
|
||||||
|
strings.add(s.getTranslation());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static PoiSubTypeDialogFragment createInstance(PoiCategory cat) {
|
public static PoiSubTypeDialogFragment createInstance(PoiCategory cat) {
|
||||||
PoiSubTypeDialogFragment fragment = new PoiSubTypeDialogFragment();
|
PoiSubTypeDialogFragment fragment = new PoiSubTypeDialogFragment();
|
||||||
Bundle args = new Bundle();
|
Bundle args = new Bundle();
|
||||||
|
|
|
@ -21,22 +21,19 @@ public class PoiTypeDialogFragment extends DialogFragment {
|
||||||
public Dialog onCreateDialog(Bundle savedInstanceState) {
|
public Dialog onCreateDialog(Bundle savedInstanceState) {
|
||||||
MapPoiTypes poiTypes = ((OsmandApplication) getActivity().getApplication()).getPoiTypes();
|
MapPoiTypes poiTypes = ((OsmandApplication) getActivity().getApplication()).getPoiTypes();
|
||||||
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
|
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
|
||||||
final List<PoiCategory> categories = poiTypes.getCategories(false);
|
final List<PoiCategory> categories = new ArrayList<PoiCategory>();
|
||||||
ArrayList<String> vals = new ArrayList<>(categories.size());
|
ArrayList<String> vals = new ArrayList<>();
|
||||||
ArrayList<PoiCategory> toDelete = new ArrayList<>();
|
for (PoiCategory category : poiTypes.getCategories(false)) {
|
||||||
for (PoiCategory category : categories) {
|
if (!category.isNotEditableOsm()) {
|
||||||
if (category.isNotEditableOsm()) {
|
|
||||||
toDelete.add(category);
|
|
||||||
} else {
|
|
||||||
vals.add(category.getTranslation());
|
vals.add(category.getTranslation());
|
||||||
|
categories.add(category);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
categories.removeAll(toDelete);
|
|
||||||
builder.setItems(vals.toArray(new String[vals.size()]), new Dialog.OnClickListener() {
|
builder.setItems(vals.toArray(new String[vals.size()]), new Dialog.OnClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onClick(DialogInterface dialog, int which) {
|
public void onClick(DialogInterface dialog, int which) {
|
||||||
PoiCategory aType = categories.get(which);
|
PoiCategory aType = categories.get(which);
|
||||||
((EditPoiDialogFragment) getParentFragment()).updateType(aType);
|
((EditPoiDialogFragment) getParentFragment()).setPoiCategory(aType);
|
||||||
dismiss();
|
dismiss();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
@ -23,6 +23,7 @@ import net.osmand.plus.R;
|
||||||
import net.osmand.plus.api.SQLiteAPI.SQLiteConnection;
|
import net.osmand.plus.api.SQLiteAPI.SQLiteConnection;
|
||||||
import net.osmand.plus.api.SQLiteAPI.SQLiteCursor;
|
import net.osmand.plus.api.SQLiteAPI.SQLiteCursor;
|
||||||
import net.osmand.plus.api.SQLiteAPI.SQLiteStatement;
|
import net.osmand.plus.api.SQLiteAPI.SQLiteStatement;
|
||||||
|
import net.osmand.util.Algorithms;
|
||||||
|
|
||||||
public class PoiFiltersHelper {
|
public class PoiFiltersHelper {
|
||||||
private final OsmandApplication application;
|
private final OsmandApplication application;
|
||||||
|
@ -33,7 +34,9 @@ public class PoiFiltersHelper {
|
||||||
private PoiUIFilter searchByNamePOIFilter;
|
private PoiUIFilter searchByNamePOIFilter;
|
||||||
private PoiUIFilter customPOIFilter;
|
private PoiUIFilter customPOIFilter;
|
||||||
private PoiUIFilter showAllPOIFilter;
|
private PoiUIFilter showAllPOIFilter;
|
||||||
|
private PoiUIFilter localWikiPoiFilter;
|
||||||
private List<PoiUIFilter> cacheTopStandardFilters;
|
private List<PoiUIFilter> cacheTopStandardFilters;
|
||||||
|
|
||||||
|
|
||||||
private static final String UDF_CAR_AID = "car_aid";
|
private static final String UDF_CAR_AID = "car_aid";
|
||||||
private static final String UDF_FOR_TOURISTS = "for_tourists";
|
private static final String UDF_FOR_TOURISTS = "for_tourists";
|
||||||
|
@ -78,6 +81,8 @@ public class PoiFiltersHelper {
|
||||||
return searchByNamePOIFilter;
|
return searchByNamePOIFilter;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public PoiUIFilter getCustomPOIFilter() {
|
public PoiUIFilter getCustomPOIFilter() {
|
||||||
if(customPOIFilter == null){
|
if(customPOIFilter == null){
|
||||||
PoiUIFilter filter = new PoiUIFilter(application.getString(R.string.poi_filter_custom_filter),
|
PoiUIFilter filter = new PoiUIFilter(application.getString(R.string.poi_filter_custom_filter),
|
||||||
|
@ -88,9 +93,23 @@ public class PoiFiltersHelper {
|
||||||
return customPOIFilter;
|
return customPOIFilter;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public PoiUIFilter getLocalWikiPOIFilter() {
|
||||||
|
if(localWikiPoiFilter == null){
|
||||||
|
PoiType place = application.getPoiTypes().getPoiTypeByKey("wiki_place");
|
||||||
|
if (place != null && !Algorithms.isEmpty(application.getLanguage())) {
|
||||||
|
PoiUIFilter filter = new PoiUIFilter(place, application, " " +
|
||||||
|
application.getLangTranslation(application.getLanguage())); //$NON-NLS-1$
|
||||||
|
filter.setSavedFilterByName("wiki:lang:"+application.getLanguage());
|
||||||
|
filter.setStandardFilter(true);
|
||||||
|
localWikiPoiFilter = filter;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return localWikiPoiFilter;
|
||||||
|
}
|
||||||
|
|
||||||
public PoiUIFilter getShowAllPOIFilter() {
|
public PoiUIFilter getShowAllPOIFilter() {
|
||||||
if(showAllPOIFilter == null){
|
if(showAllPOIFilter == null){
|
||||||
PoiUIFilter filter = new PoiUIFilter(null, application); //$NON-NLS-1$
|
PoiUIFilter filter = new PoiUIFilter(null, application, ""); //$NON-NLS-1$
|
||||||
filter.setStandardFilter(true);
|
filter.setStandardFilter(true);
|
||||||
showAllPOIFilter = filter;
|
showAllPOIFilter = filter;
|
||||||
}
|
}
|
||||||
|
@ -117,7 +136,7 @@ public class PoiFiltersHelper {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
PoiUIFilter ff = getFilterById(filterId, getCustomPOIFilter(), getSearchByNamePOIFilter(),
|
PoiUIFilter ff = getFilterById(filterId, getCustomPOIFilter(), getSearchByNamePOIFilter(),
|
||||||
getShowAllPOIFilter(), getNominatimPOIFilter(), getNominatimAddressFilter());
|
getLocalWikiPOIFilter(), getShowAllPOIFilter(), getNominatimPOIFilter(), getNominatimAddressFilter());
|
||||||
if (ff != null) {
|
if (ff != null) {
|
||||||
return ff;
|
return ff;
|
||||||
}
|
}
|
||||||
|
@ -125,7 +144,7 @@ public class PoiFiltersHelper {
|
||||||
String typeId = filterId.substring(PoiUIFilter.STD_PREFIX.length());
|
String typeId = filterId.substring(PoiUIFilter.STD_PREFIX.length());
|
||||||
AbstractPoiType tp = application.getPoiTypes().getAnyPoiTypeByKey(typeId);
|
AbstractPoiType tp = application.getPoiTypes().getAnyPoiTypeByKey(typeId);
|
||||||
if(tp != null) {
|
if(tp != null) {
|
||||||
PoiUIFilter lf = new PoiUIFilter(tp, application);
|
PoiUIFilter lf = new PoiUIFilter(tp, application, "");
|
||||||
ArrayList<PoiUIFilter> copy = new ArrayList<PoiUIFilter>(cacheTopStandardFilters);
|
ArrayList<PoiUIFilter> copy = new ArrayList<PoiUIFilter>(cacheTopStandardFilters);
|
||||||
copy.add(lf);
|
copy.add(lf);
|
||||||
sortListOfFilters(copy);
|
sortListOfFilters(copy);
|
||||||
|
@ -134,7 +153,7 @@ public class PoiFiltersHelper {
|
||||||
}
|
}
|
||||||
AbstractPoiType lt = application.getPoiTypes().getAnyPoiAdditionalTypeByKey(typeId);
|
AbstractPoiType lt = application.getPoiTypes().getAnyPoiAdditionalTypeByKey(typeId);
|
||||||
if(lt != null) {
|
if(lt != null) {
|
||||||
PoiUIFilter lf = new PoiUIFilter(lt, application);
|
PoiUIFilter lf = new PoiUIFilter(lt, application, "");
|
||||||
ArrayList<PoiUIFilter> copy = new ArrayList<PoiUIFilter>(cacheTopStandardFilters);
|
ArrayList<PoiUIFilter> copy = new ArrayList<PoiUIFilter>(cacheTopStandardFilters);
|
||||||
copy.add(lf);
|
copy.add(lf);
|
||||||
sortListOfFilters(copy);
|
sortListOfFilters(copy);
|
||||||
|
@ -182,10 +201,13 @@ public class PoiFiltersHelper {
|
||||||
List<PoiUIFilter> top = new ArrayList<PoiUIFilter>();
|
List<PoiUIFilter> top = new ArrayList<PoiUIFilter>();
|
||||||
// user defined
|
// user defined
|
||||||
top.addAll(getUserDefinedPoiFilters());
|
top.addAll(getUserDefinedPoiFilters());
|
||||||
|
if(getLocalWikiPOIFilter() != null) {
|
||||||
|
top.add(getLocalWikiPOIFilter());
|
||||||
|
}
|
||||||
// default
|
// default
|
||||||
MapPoiTypes poiTypes = application.getPoiTypes();
|
MapPoiTypes poiTypes = application.getPoiTypes();
|
||||||
for (PoiFilter t : poiTypes.getTopVisibleFilters()) {
|
for (PoiFilter t : poiTypes.getTopVisibleFilters()) {
|
||||||
top.add(new PoiUIFilter(t, application));
|
top.add(new PoiUIFilter(t, application, ""));
|
||||||
}
|
}
|
||||||
sortListOfFilters(top);
|
sortListOfFilters(top);
|
||||||
cacheTopStandardFilters = top;
|
cacheTopStandardFilters = top;
|
||||||
|
|
|
@ -46,6 +46,7 @@ public class PoiUIFilter implements SearchPoiTypeFilter {
|
||||||
private Map<String, PoiType> poiAdditionals = new HashMap<String, PoiType>();
|
private Map<String, PoiType> poiAdditionals = new HashMap<String, PoiType>();
|
||||||
|
|
||||||
protected String filterId;
|
protected String filterId;
|
||||||
|
protected String standardIconId = "";
|
||||||
protected String name;
|
protected String name;
|
||||||
protected boolean isStandardFilter;
|
protected boolean isStandardFilter;
|
||||||
|
|
||||||
|
@ -62,12 +63,14 @@ public class PoiUIFilter implements SearchPoiTypeFilter {
|
||||||
protected List<Amenity> currentSearchResult = null;
|
protected List<Amenity> currentSearchResult = null;
|
||||||
|
|
||||||
// constructor for standard filters
|
// constructor for standard filters
|
||||||
public PoiUIFilter(AbstractPoiType type, OsmandApplication application) {
|
public PoiUIFilter(AbstractPoiType type, OsmandApplication application, String idSuffix) {
|
||||||
this.app = application;
|
this.app = application;
|
||||||
isStandardFilter = true;
|
isStandardFilter = true;
|
||||||
filterId = STD_PREFIX + (type == null ? null : type.getKeyName());
|
standardIconId = (type == null ? null : type.getKeyName());
|
||||||
|
filterId = STD_PREFIX + standardIconId + idSuffix;
|
||||||
|
|
||||||
poiTypes = application.getPoiTypes();
|
poiTypes = application.getPoiTypes();
|
||||||
name = type == null ? application.getString(R.string.poi_filter_closest_poi) : type.getTranslation(); //$NON-NLS-1$
|
name = type == null ? application.getString(R.string.poi_filter_closest_poi) : (type.getTranslation() + idSuffix); //$NON-NLS-1$
|
||||||
if (type == null) {
|
if (type == null) {
|
||||||
initSearchAll();
|
initSearchAll();
|
||||||
updatePoiAdditionals();
|
updatePoiAdditionals();
|
||||||
|
@ -79,6 +82,7 @@ public class PoiUIFilter implements SearchPoiTypeFilter {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// search by name standard
|
// search by name standard
|
||||||
protected PoiUIFilter(OsmandApplication application) {
|
protected PoiUIFilter(OsmandApplication application) {
|
||||||
this.app = application;
|
this.app = application;
|
||||||
|
@ -520,9 +524,9 @@ public class PoiUIFilter implements SearchPoiTypeFilter {
|
||||||
return poiAdditionals;
|
return poiAdditionals;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getSimplifiedId(){
|
public String getIconId(){
|
||||||
if(filterId.startsWith(STD_PREFIX)) {
|
if(filterId.startsWith(STD_PREFIX)) {
|
||||||
return filterId.substring(STD_PREFIX.length()).toLowerCase();
|
return standardIconId;
|
||||||
} else if(filterId.startsWith(USER_PREFIX)) {
|
} else if(filterId.startsWith(USER_PREFIX)) {
|
||||||
return filterId.substring(USER_PREFIX.length()).toLowerCase();
|
return filterId.substring(USER_PREFIX.length()).toLowerCase();
|
||||||
}
|
}
|
||||||
|
|
|
@ -458,21 +458,27 @@ public class RoutingHelper {
|
||||||
if(route.getIntermediatePointsToPass() > 0 && route.getDistanceToNextIntermediate(lastFixedLocation) < POSITION_TOLERANCE * 2) {
|
if(route.getIntermediatePointsToPass() > 0 && route.getDistanceToNextIntermediate(lastFixedLocation) < POSITION_TOLERANCE * 2) {
|
||||||
showMessage(app.getString(R.string.arrived_at_intermediate_point));
|
showMessage(app.getString(R.string.arrived_at_intermediate_point));
|
||||||
route.passIntermediatePoint();
|
route.passIntermediatePoint();
|
||||||
|
|
||||||
TargetPointsHelper targets = app.getTargetPointsHelper();
|
TargetPointsHelper targets = app.getTargetPointsHelper();
|
||||||
List<TargetPoint> ns = targets.getIntermediatePoints();
|
String name = "";
|
||||||
int toDel = targets.getIntermediatePoints().size() - route.getIntermediatePointsToPass();
|
if(intermediatePoints != null ) {
|
||||||
int currentIndex = toDel - 1;
|
LatLon rm = intermediatePoints.remove(0);
|
||||||
String name = currentIndex < 0 || currentIndex >= ns.size() ||
|
List<TargetPoint> ll = targets.getIntermediatePointsNavigation();
|
||||||
ns.get(currentIndex ) == null ? "" : ns.get(currentIndex ).getOnlyName();
|
int ind = -1;
|
||||||
|
for(int i = 0; i < ll.size(); i++) {
|
||||||
|
if(ll.get(i).point != null && MapUtils.getDistance(ll.get(i).point, rm) < 5) {
|
||||||
|
name = ll.get(i).getOnlyName();
|
||||||
|
ind = i;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(ind >= 0) {
|
||||||
|
targets.removeWayPoint(false, ind);
|
||||||
|
}
|
||||||
|
}
|
||||||
if(isFollowingMode) {
|
if(isFollowingMode) {
|
||||||
voiceRouter.arrivedIntermediatePoint(name);
|
voiceRouter.arrivedIntermediatePoint(name);
|
||||||
}
|
}
|
||||||
while(toDel > 0) {
|
// double check
|
||||||
targets.removeWayPoint(false, 0);
|
|
||||||
toDel--;
|
|
||||||
}
|
|
||||||
|
|
||||||
while(intermediatePoints != null && route.getIntermediatePointsToPass() < intermediatePoints.size()) {
|
while(intermediatePoints != null && route.getIntermediatePointsToPass() < intermediatePoints.size()) {
|
||||||
intermediatePoints.remove(0);
|
intermediatePoints.remove(0);
|
||||||
}
|
}
|
||||||
|
|
|
@ -95,6 +95,7 @@ public class MapControlsLayer extends OsmandMapLayer {
|
||||||
private MapHudButton mapZoomIn;
|
private MapHudButton mapZoomIn;
|
||||||
private MapHudButton layersHud;
|
private MapHudButton layersHud;
|
||||||
private MapHudButton mapDashControl;
|
private MapHudButton mapDashControl;
|
||||||
|
private long lastZoom;
|
||||||
|
|
||||||
public MapControlsLayer(MapActivity activity) {
|
public MapControlsLayer(MapActivity activity) {
|
||||||
this.mapActivity = activity;
|
this.mapActivity = activity;
|
||||||
|
@ -374,12 +375,13 @@ public class MapControlsLayer extends OsmandMapLayer {
|
||||||
notifyClicked();
|
notifyClicked();
|
||||||
mapRouteInfoControlDialog.hideDialog();
|
mapRouteInfoControlDialog.hideDialog();
|
||||||
optionsRouteControlDialog.hideDialog();
|
optionsRouteControlDialog.hideDialog();
|
||||||
RoutingHelper routingHelper = mapActivity.getMyApplication().getRoutingHelper();
|
// RoutingHelper routingHelper = mapActivity.getMyApplication().getRoutingHelper();
|
||||||
if (!routingHelper.isFollowingMode() && !routingHelper.isRoutePlanningMode()) {
|
// if (!routingHelper.isFollowingMode() && !routingHelper.isRoutePlanningMode()) {
|
||||||
mapActivity.getMapActions().enterRoutePlanningMode(null, null, false);
|
// never possible
|
||||||
} else {
|
// mapActivity.getMapActions().enterRoutePlanningMode(null, null, false);
|
||||||
|
// } else {
|
||||||
startNavigation();
|
startNavigation();
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
public void showRouteInfoControlDialog() {
|
public void showRouteInfoControlDialog() {
|
||||||
|
@ -446,13 +448,11 @@ public class MapControlsLayer extends OsmandMapLayer {
|
||||||
notifyClicked();
|
notifyClicked();
|
||||||
RoutingHelper routingHelper = mapActivity.getRoutingHelper();
|
RoutingHelper routingHelper = mapActivity.getRoutingHelper();
|
||||||
if (!routingHelper.isFollowingMode() && !routingHelper.isRoutePlanningMode()) {
|
if (!routingHelper.isFollowingMode() && !routingHelper.isRoutePlanningMode()) {
|
||||||
mapActivity.getMapActions().enterRoutePlanningMode(null, null, false);
|
mapActivity.getMapActions().enterRoutePlanningMode(null, null);
|
||||||
} else {
|
} else {
|
||||||
switchToRoutePlanningLayout();
|
switchToRoutePlanningLayout();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -537,9 +537,10 @@ public class MapControlsLayer extends OsmandMapLayer {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Deprecated
|
||||||
public void startCounter() {
|
public void startCounter() {
|
||||||
OsmandSettings settings = mapActivity.getMyApplication().getSettings();
|
OsmandSettings settings = mapActivity.getMyApplication().getSettings();
|
||||||
int del = settings.DELAY_TO_START_NAVIGATION.get();
|
int del = 0; // settings.DELAY_TO_START_NAVIGATION.get();
|
||||||
if (del <= 0) {
|
if (del <= 0) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -619,16 +620,20 @@ public class MapControlsLayer extends OsmandMapLayer {
|
||||||
if(routeFollowingMode || routePlanningMode) {
|
if(routeFollowingMode || routePlanningMode) {
|
||||||
mapAppModeShadow.setVisibility(View.GONE);
|
mapAppModeShadow.setVisibility(View.GONE);
|
||||||
} else {
|
} else {
|
||||||
|
if (mapView.isZooming()) {
|
||||||
|
lastZoom = System.currentTimeMillis();
|
||||||
|
}
|
||||||
mapAppModeShadow.setVisibility(View.VISIBLE);
|
mapAppModeShadow.setVisibility(View.VISIBLE);
|
||||||
if (!mapView.isZooming() || !OsmandPlugin.isDevelopment()) {
|
//if (!mapView.isZooming() || !OsmandPlugin.isDevelopment()) {
|
||||||
|
if ((System.currentTimeMillis()-lastZoom > 1000) || !OsmandPlugin.isDevelopment()) {
|
||||||
zoomText.setVisibility(View.GONE);
|
zoomText.setVisibility(View.GONE);
|
||||||
appModeIcon.setVisibility(View.VISIBLE);
|
appModeIcon.setVisibility(View.VISIBLE);
|
||||||
appModeIcon.setImageDrawable(
|
appModeIcon.setImageDrawable(
|
||||||
app.getIconsCache().getIcon(
|
app.getIconsCache().getIcon(
|
||||||
settings.getApplicationMode().getSmallIconDark(), !isNight));
|
settings.getApplicationMode().getSmallIconDark(), !isNight));
|
||||||
} else {
|
} else {
|
||||||
zoomText.setVisibility(View.VISIBLE);
|
|
||||||
appModeIcon.setVisibility(View.GONE);
|
appModeIcon.setVisibility(View.GONE);
|
||||||
|
zoomText.setVisibility(View.VISIBLE);
|
||||||
zoomText.setText(getZoomLevel(tileBox));
|
zoomText.setText(getZoomLevel(tileBox));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -92,9 +92,9 @@ public class MapRouteInfoControl implements IRouteInformationListener {
|
||||||
public void setVisible(boolean visible) {
|
public void setVisible(boolean visible) {
|
||||||
if(visible) {
|
if(visible) {
|
||||||
if (showDialog){
|
if (showDialog){
|
||||||
if (getTargets().getPointToNavigate() == null){
|
//if (getTargets().getPointToNavigate() == null){
|
||||||
showDialog();
|
showDialog();
|
||||||
}
|
//}
|
||||||
showDialog = false;
|
showDialog = false;
|
||||||
}
|
}
|
||||||
controlVisible = true;
|
controlVisible = true;
|
||||||
|
@ -441,7 +441,7 @@ public class MapRouteInfoControl implements IRouteInformationListener {
|
||||||
public String generateViaDescription() {
|
public String generateViaDescription() {
|
||||||
TargetPointsHelper targets = getTargets();
|
TargetPointsHelper targets = getTargets();
|
||||||
String via = "";
|
String via = "";
|
||||||
List<TargetPoint> points = targets.getIntermediatePoints();
|
List<TargetPoint> points = targets.getIntermediatePointsNavigation();
|
||||||
if (points.size() == 0) {
|
if (points.size() == 0) {
|
||||||
return via;
|
return via;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue