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

This commit is contained in:
Alexander Sytnyk 2017-12-18 11:21:32 +02:00
commit fd884e38a5
40 changed files with 466 additions and 250 deletions

View file

@ -87,7 +87,8 @@ public class GeneralRouter implements VehicleRouter {
public enum GeneralRouterProfile {
CAR,
PEDESTRIAN,
BICYCLE
BICYCLE,
BOAT
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

View file

@ -529,7 +529,7 @@
<string name="poi_dish">صحن</string>
<string name="poi_payment_transport_type">نوع الدفع (نقل)</string>
<string name="poi_social_facility_type">نوع</string>
<string name="poi_fuel_type">نوع</string>
<string name="poi_fuel_type">نوع الوقود</string>
<string name="poi_drive_in">سق في</string>
<string name="poi_drive_through">سق عبر</string>
<string name="poi_social_facility_for">الفئة المستهدفة</string>
@ -1607,4 +1607,19 @@
<string name="poi_surfing">ركوب الأمواج</string>
<string name="poi_artwork">عمل فني</string>
<string name="poi_battlefield">ميدان معركة</string>
<string name="poi_water_supply_type">نوع إمدادات المياه</string>
<string name="poi_water_purification">تنقية المياه</string>
<string name="poi_survey_point">نقطة دراسة استقصائية</string>
<string name="poi_parking_fee">رسوم الموقف</string>
<string name="poi_map_type_street">نوع الخريطة: شارع</string>
<string name="poi_charging_station_filter">محطة شحن</string>
<string name="poi_post_street">شارع</string>
<string name="poi_post_housenumber">رقم المنزل</string>
<string name="poi_post_flats">شقة</string>
<string name="poi_payment_centre">مركز الدفع</string>
<string name="poi_money_transfer">تحويل أموال</string>
</resources>

View file

@ -2845,7 +2845,7 @@
<string name="mark_passed">تعيين كمتجاوز</string>
<string name="empty_state_osm_edits">إنشاء أو تعديل أشياء OSM</string>
<string name="empty_state_osm_edits_descr">إنشاء أو تعديل OSM POI، فتح أو التعليق على ملاحظات OSM والمساهمة بملفات GPX مسجلة.</string>
<string name="shared_string_deleted">تم حذفه</string>
<string name="shared_string_deleted">حُذف</string>
<string name="shared_string_edited">تم تعديله</string>
<string name="shared_string_added">تمت إضافة</string>
<string name="modify_the_search_query">تغيير طلب البحث.</string>

View file

@ -2888,7 +2888,7 @@ U vypadku, kali vy lubіcie OsmAnd і OSM і chočacie padtrymać jaho, heta іd
<string name="import_as_gpx">Impartavać jak GPX-fajł</string>
<string name="import_as_favorites">Impartavać jak Ulubionyja</string>
<string name="import_file">Impartavać fajł</string>
<string name="tap_on_map_to_hide_interface_descr">Dotyk na mapie chavaje knopki kiravannia i vidžety.</string>
<string name="tap_on_map_to_hide_interface_descr">Dotyk na mapie chavaje knopki kiravańnia i vidžety.</string>
<string name="tap_on_map_to_hide_interface">Poŭnyekranny režym</string>
<string name="show_on_top_bar">Pakazać na vierchniaj paneli</string>
<string name="mark_passed">Adznačyć prajdzienyja</string>

View file

@ -2937,7 +2937,7 @@
<string name="import_as_gpx">Імпартаваць як GPX-файл</string>
<string name="import_as_favorites">Імпартаваць як Улюбёныя</string>
<string name="import_file">Імпартаваць файл</string>
<string name="tap_on_map_to_hide_interface_descr">Дотык на мапе хавае кнопкі кіравання і віджэты.</string>
<string name="tap_on_map_to_hide_interface_descr">Дотык на мапе хавае кнопкі кіраваньня і віджэты.</string>
<string name="tap_on_map_to_hide_interface">Поўныэкранны рэжым</string>
<string name="show_on_top_bar">Паказаць на верхняй панэлі</string>
<string name="mark_passed">Адзначыць прайдзеныя</string>

View file

@ -1596,7 +1596,7 @@ OSM er et i fællesskab drevet, globalt offentligt domæne kortlægningsprojekt.
<string name="rendering_category_hide">Skjul</string>
<string name="wake_on_voice">Tænd for skærmen</string>
<string name="wake_on_voice_descr">Tænd for skærmen (hvis slukket) ved navigationsinstruktioner.</string>
<string name="lock_screen_request_explanation">%1$s behøver denne tilladelse til at slukke for skærmen for strømbesparende funktion.</string>
<string name="lock_screen_request_explanation">%1$s behøver denne tilladelse til at slukke for skærmen for strømbesparefunktion.</string>

View file

@ -3013,7 +3013,7 @@
<string name="poi_spices">Gewürzgeschäft</string>
<string name="poi_fuel_type">Typ</string>
<string name="poi_fuel_type">Kraftstoffart</string>
<string name="poi_payment_type">Zahlungsart</string>
<string name="poi_additional_type">Zusätzlich</string>
<string name="poi_service_bicycle_charging_yes">Ladestation: ja</string>
@ -3021,7 +3021,7 @@
<string name="poi_shop_craft">Geschäft für Kunsthandwerksbedarf</string>
<string name="poi_fuel_avia_type">Typ</string>
<string name="poi_fuel_avia_type">Kraftstoffart (avia)</string>
<string name="poi_payment_fuel_type">Tankkarten</string>
<string name="poi_internet_access_type">Internet-Zugangsart</string>
<string name="poi_clothes_type">Typ</string>
@ -3647,4 +3647,16 @@
<string name="poi_depot">Lager</string>
<string name="poi_map_size_site">Kartengröße: Platz</string>
<string name="poi_map_size_city">Kartengröße: Stadt</string>
<string name="poi_map_size_region">Kartengröße: Region</string>
<string name="poi_letter_box">Briefkasten</string>
<string name="poi_post_street">Straße</string>
<string name="poi_post_housenumber">Hausnummer</string>
<string name="poi_post_flats">Flach</string>
<string name="poi_payment_centre">Zahlungs-Zentrum</string>
<string name="poi_money_transfer">Überweisung</string>
</resources>

View file

@ -177,7 +177,7 @@
<string name="osmand_development_plugin_description">Diese Erweiterung aktiviert Entwicklereinstellungen und Funktionen zur Fehlersuche, wie Testung oder Simulation der Routenberechnung, der Bildschirm-Render-Leistung oder der Sprachsteuerung. Diese Einstellungen sind für Entwickler gedacht und werden für die Verwendung von OsmAnd sonst nicht benötigt.</string>
<string name="plugins_screen">Erweiterungen</string>
<string name="prefs_plugins_descr">Erweiterungen aktivieren weiterte Einstellungen und zusätzliche Funktionen</string>
<string name="prefs_plugins_descr">Erweiterungen aktivieren weitere Einstellungen und zusätzliche Funktionen.</string>
<string name="prefs_plugins">Erweiterungen</string>
<string name="osm_editing_plugin_description">Diese Erweiterung ermöglicht das Erstellen und Bearbeiten von OSM-POI-Objekten, das Eintragen oder Kommentieren von OSM-Notizen, sowie das Hochladen von GPX-Dateien als Beiträge zu OSM (benötigt ein OSM-Benutzerkonto).
\n
@ -275,7 +275,7 @@
<string name="live_monitoring_start">Online-Aufzeichnung starten</string>
<string name="live_monitoring_stop">Online-Aufzeichnung beenden</string>
<string name="show_current_gpx_title">Aktuellen Track anzeigen</string>
<string name="free_version_message">Diese kostenlose Version von OsmAnd ist limitiert auf %1$s Downloads und unterstützt keine offline Wikipedia-Artikel.</string>
<string name="free_version_message">Diese kostenlose Version von OsmAnd ist limitiert auf %1$s Downloads(Zum Hinzufügen und Aktualisieren der Karten) und unterstützt keine offline Wikipedia-Artikel.</string>
<string name="free_version_title">Kostenlose Version</string>
<string name="poi_context_menu_showdescription">Zeige POI-Beschreibung.</string>
<string name="index_name_north_america">Nordamerika</string>
@ -383,7 +383,7 @@
<string name="file_with_name_already_exist">Datei mit gleichem Namen besteht bereits.</string>
<string name="shared_string_save">Speichern</string>
<string name="local_index_upload_gpx_description">GPX-Dateien an OSM-Gemeinschaft übermitteln. Die Dateien können dort zur Kartenverbesserung verwendet werden.</string>
<string name="local_index_upload_gpx_description">GPX-Dateien an die OSM-Gemeinschaft übermitteln. Die Dateien können dort zur Kartenverbesserung verwendet werden.</string>
<string name="local_index_items_uploaded">%1$d von %2$d Datei(en) erfolgreich hochgeladen.</string>
<string name="local_index_mi_upload_gpx">An OSM senden</string>
<string name="show_more_map_detail">Mehr Kartendetails</string>
@ -462,15 +462,15 @@
<string name="shared_string_none">Keine(r/s)</string>
<string name="map_overlay">Overlay-Karte</string>
<string name="map_overlay_descr">Karte als Überlagerung auswählen.</string>
<string name="tile_source_already_installed">Karte schon installiert, Einstellungen werden aktualisiert</string>
<string name="select_tile_source_to_install">Wähle Karten(Kacheln) zu installieren oder aktualisieren</string>
<string name="internet_not_available">Internet Verbindung erforderlich, aber nicht verfügbar!</string>
<string name="tile_source_already_installed">Karte schon installiert, Einstellungen werden aktualisiert.</string>
<string name="select_tile_source_to_install">Wähle Karten(Kacheln) zu installieren oder aktualisieren.</string>
<string name="internet_not_available">Internet Verbindung erforderlich, aber nicht verfügbar.</string>
<string name="install_more">Weitere installieren…</string>
<string name="level_to_switch_vector_raster_descr">Niedrigste Zoomstufe mit der Vektorkarten (statt Kacheln) verwendet werden sollen.</string>
<string name="level_to_switch_vector_raster">Min. Vektor-Zoomstufe</string>
<string name="create_poi_link_to_osm_doc"> <u>Online OSM</u> Klassifizierung mit Bildern"</string>
<string name="create_poi_link_to_osm_doc"><u>Online OSM</u> Klassifizierung mit Bildern.</string>
<string name="error_doing_search">Fehler in der Offline-Suche aufgetreten</string>
<string name="search_offline_geo_error">Konnte geointent nicht verarbeiten: \'%s\'</string>
<string name="search_osm_offline">Adresssuche mit Offline-Daten</string>
@ -587,8 +587,8 @@
<string name="phone">Telefon</string>
<string name="download_type_to_filter">Nach Typ filtern</string>
<string name="use_high_res_maps">Hochauflösende Anzeige</string>
<string name="use_high_res_maps_descr">Unterdrückt Streckung (Unschärfe) von Kartenkacheln auf manchen Anzeigen</string>
<string name="unknown_location">Standort noch nicht ermittelt</string>
<string name="use_high_res_maps_descr">Unterdrückt Streckung (Unschärfe) von Kartenkacheln auf manchen Anzeigen.</string>
<string name="unknown_location">Position noch nicht bekannt</string>
<string name="context_menu_item_search_transport">Suche ÖPNV</string>
<string name="transport_searching_transport">ÖPNV-Ergebnisse (kein Ziel):</string>
@ -1263,7 +1263,7 @@ Proportionaler Speicher %4$s MB (Android Limit %5$s MB, Dalvik %6$s MB).</string
<string name="app_mode_truck">LKW</string>
<string name="guidance_preferences_descr">Navigationseinstellungen</string>
<string name="routing_preferences_descr">Einstellungen für Routenberechnung</string>
<string name="speech_rate_descr">Sprachgeschwindigkeit der TTS-Ausgabe</string>
<string name="speech_rate_descr">Sprachgeschwindigkeit der TTS-Ausgabe bestimmen.</string>
<string name="speech_rate">Sprachgeschwindigkeit</string>
<string name="complex_route_calculation_failed">Schnelle Routenberechnung fehlgeschlagen (%s), Rückfall auf langsame Berechnung.</string>
<string name="disable_complex_routing_descr">Zwei-Phasen-Routing für Autonavigation deaktivieren.</string>
@ -2109,9 +2109,9 @@ Lon %2$s</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>
<string name="please_specify_poi_type_only_from_list">Bitte einen gültigen POI-Typ angeben oder überspringen</string>
<string name="please_specify_poi_type_only_from_list">Bitte einen gültigen POI-Typ angeben oder überspringen.</string>
<string name="share_osm_edits_subject">OSM-Bearbeitung mit OsmAnd geteilt</string>
<string name="av_locations_descr">GPX-Datei mit Notizen</string>
<string name="av_locations_descr">GPX-Datei mit Notizen.</string>
<string name="free_downloads_used_description">Anzeige der genutzten freien Downloads.</string>
<string name="shared_string_location">Standort</string>
@ -2225,7 +2225,7 @@ Derzeit sind nur {2} MB verfügbar.</string>
<string name="osm_live_user_public_name">Öffentlicher Name</string>
<string name="osm_live_hide_user_name">Meinen Namen nicht in Berichten anzeigen</string>
<string name="osm_live_month_cost">Monatliche Kosten</string>
<string name="osm_live_month_cost_desc">Monatliche Zahlung</string>
<string name="osm_live_month_cost_desc">Monatliche Zahlung.</string>
<string name="osm_live_active">Aktiv</string>
<string name="osm_live_not_active">Inaktiv</string>
<string name="osm_live_enter_email">Bitte gültige E-Mail-Adresse eingeben</string>
@ -2234,7 +2234,7 @@ Derzeit sind nur {2} MB verfügbar.</string>
<string name="osm_live_subscription_settings">Abonnementeinstellungen</string>
<string name="osm_live_ask_for_purchase">Bitte kaufen Sie zuerst ein OsmAnd-Live-Abonnement</string>
<string name="osm_live_region_desc">Teile Ihrer Spende werden an OSM-Mitwirkende weitergegeben, die diese Region bearbeiten</string>
<string name="osm_live_region_desc">Teile Ihrer Spende werden an OSM-Mitwirkende weitergegeben, die diese Region bearbeiten.</string>
<string name="osm_live_header">Dieses Abonnement schaltet stündliche Updates für die gesamten weltweiten Karten frei.
Ein Teil dieser Einnahmen geht zurück an die OSM-Gemeinschaft, eine Auszahlung erfolgt je nach Anzahl der Beiträge zu den OSM-Daten.
Wenn Sie OsmAnd und OSM lieben und unterstützen wollen, so ist dies die perfekte Möglichkeit.</string>
@ -2317,7 +2317,7 @@ Wenn Sie OsmAnd und OSM lieben und unterstützen wollen, so ist dies die perfekt
<string name="app_mode_bus">Bus</string>
<string name="app_mode_train">Zug</string>
<string name="coords_format">Koordinatenformat</string>
<string name="coords_format_descr">Format geographischer Koordinaten</string>
<string name="coords_format_descr">Format geographischer Koordinaten.</string>
<string name="shared_string_is_open_24_7">24/7 geöffnet</string>
<string name="storage_directory_card">Speicherkarte</string>
@ -2660,7 +2660,7 @@ Abgedeckte Fläche: %1$s x %2$s</string>
<string name="quick_action_add_first_intermediate_desc">Drücken der Aktionstaste fügt die zum Bildschirmmittelpunkt gehörende Position als ersten Zwischenstopp ein.</string>
<string name="subscribe_email_error">Fehler</string>
<string name="subscribe_email_desc">Tragen Sie sich in unsere Mail-Liste zu App-Angeboten ein, und erhalten Sie dafür 3 zusätzliche Karten-Downloads!</string>
<string name="depth_contour_descr">Kartensatz, der die Meeresbodenkonturlinien und Meerestiefen enthält.</string>
<string name="depth_contour_descr">Kartensatz, der die Meeresbodenkonturlinien und nautischen Punkte enthält.</string>
<string name="sea_depth_thanks">Vielen Dank, dass Sie die Meerestiefenkonturen erworben haben!</string>
<string name="index_item_depth_contours_osmand_ext">Nautische Tiefenkonturen</string>
<string name="index_item_depth_points_southern_hemisphere">Nautische Meerestiefen der Südhalbkugel</string>
@ -2730,7 +2730,7 @@ Abgedeckte Fläche: %1$s x %2$s</string>
<string name="shared_string_permissions">Berechtigungen</string>
<string name="import_gpx_failed_descr">OsmAnd kann die Datei nicht importieren. Überprüfen Sie, ob OsmAnd Leserechte für den Dateispeicherort besitzt.</string>
<string name="mapillary_menu_edit_text_hint">Benutzernamen eingeben</string>
<string name="mapillary_menu_descr_username">Bilder betrachten, die von einem bestimmten Benutzer eingestellt wurden.</string>
<string name="mapillary_menu_descr_username">Nur Bilder betrachten von</string>
<string name="mapillary_menu_title_username">Benutzername</string>
<string name="shared_string_reload">Erneut laden</string>
<string name="mapillary_menu_descr_tile_cache">Kacheln neu laden, um nach Datumswerten zu suchen.</string>
@ -2738,8 +2738,8 @@ Abgedeckte Fläche: %1$s x %2$s</string>
<string name="wrong_user_name">Falscher Benutzername!</string>
<string name="shared_string_to">Bis</string>
<string name="mapillary_menu_date_from">Von</string>
<string name="mapillary_menu_descr_dates">Bilder betrachten, die in einem bestimmten Zeitabschnitt eingestellt wurden.</string>
<string name="mapillary_menu_title_dates">Datumswerte</string>
<string name="mapillary_menu_descr_dates">Nur hinzugefügte Bilder betrachten</string>
<string name="mapillary_menu_title_dates">Datum</string>
<string name="average">Durchschnitt</string>
<string name="max_min">max/min</string>
<string name="shared_string_reset">Zurücksetzen</string>
@ -2831,7 +2831,7 @@ Abgedeckte Fläche: %1$s x %2$s</string>
<string name="yesterday">Gestern</string>
<string name="last_seven_days">Letzte 7 Tage</string>
<string name="this_year">Dieses Jahr</string>
<string name="passed">Passiert: %1$s</string>
<string name="passed">Zuletzt verwendet: %1$s</string>
<string name="shared_string_markers">Markierungen</string>
<string name="coordinates_format">Koordinatenformat</string>
<string name="fast_coordinates_input_descr">Format zur Koordinateneingabe auswählen. Kann durch Anklicken von »Einstellungen« jederzeit geändert werden.</string>
@ -2847,7 +2847,7 @@ Abgedeckte Fläche: %1$s x %2$s</string>
<string name="marker_save_as_track_descr">Markierungen in die hier festgelegte Datei exportieren:</string>
<string name="marker_save_as_track">Als Track speichern</string>
<string name="move_to_history">In den Verlauf verschieben</string>
<string name="group_will_be_removed_after_restart">Gruppe wird bei einem Neustart entfernt</string>
<string name="group_will_be_removed_after_restart">Gruppe wird beim nächsten Neustart entfernt.</string>
<string name="show_passed">Passierte anzeigen</string>
<string name="hide_passed">Passierte ausblenden</string>
<string name="marker_show_distance_descr">Auswahl der Anzeige für Entfernungen und Richtungen zu Kartenmarkierungen in der Kartenansicht:</string>
@ -2924,5 +2924,13 @@ Abgedeckte Fläche: %1$s x %2$s</string>
<string name="import_gpx_file_description">kann als Favoriten-Punkte oder als Track-Datei importiert werden.</string>
<string name="empty_state_av_notes_desc">Audio-, Video- oder Fotonotizen zu jedem Punkt auf der Karte über Widget oder Kontextmenü hinzufügen.</string>
<string name="notes_by_date">Notizen nach Datum</string>
<string name="tap_on_map_to_hide_interface_descr">Berührung der Karte wechselt zwischen Steuerungselementen und Widgets.</string>
<string name="tap_on_map_to_hide_interface_descr">Berührung der Karte verbirgt Steuerungselementen und Widgets.</string>
<string name="release_3_0">• Erkennung von Stoppschildern jetzt nach Fahrtrichtung
\n
\n• Neuer Algorithmus für die Bereitstellung von sinnvollen Auf-/Abstieg-Werten für GPX-tracks
\n
\n• Dauer des Aufstiegs entsprechend dem Gelände (Naismiths Regel)
\n
\n</string>
<string name="one_tap_active">Aktiviren mit einem Tap</string>
</resources>

View file

@ -1600,7 +1600,7 @@
<string name="poi_drive_through_yes"></string>
<string name="poi_drive_through_no">Servicio en el automóvil: No</string>
<string name="poi_brewery_additional">Nombre de cervecería</string>
<string name="poi_brewery_additional">Nombre de la cervecería</string>
<string name="poi_microbrewery_yes"></string>
<string name="poi_microbrewery_no">Cerveza artesanal: No</string>
@ -3704,7 +3704,7 @@
<string name="poi_letter_box">Buzón postal</string>
<string name="poi_post_street">Calle</string>
<string name="poi_post_housenumber">Número de portal</string>
<string name="poi_post_flats">Plano</string>
<string name="poi_post_flats">Pisos de oficina</string>
<string name="poi_payment_centre">Centro de pagos</string>
<string name="poi_money_transfer">Transferencia de dinero</string>

View file

@ -1487,7 +1487,7 @@
<string name="poi_drive_in_no">Conducir dentro: No</string>
<string name="poi_drive_through_yes"></string>
<string name="poi_drive_through_no">Servicio en el automóvil: No</string>
<string name="poi_brewery_additional">Nombre de cervecería</string>
<string name="poi_brewery_additional">Nombre de la cervecería</string>
<string name="poi_microbrewery_yes"></string>
<string name="poi_microbrewery_no">Cerveza artesanal: No</string>
<string name="poi_takeaway_yes">Comida para llevar: Sí</string>

View file

@ -2977,7 +2977,7 @@
<string name="by_date">بر اساس تاریخ</string>
<string name="by_type">بر اساس نوع</string>
<string name="empty_state_markers_history">\@string/shared_string_history</string>
<string name="modify_the_search_query">کلمات جست‌وجوشده را اصلاح کنید.</string>
<string name="modify_the_search_query">عبارت جست‌وجوشده را اصلاح کنید.</string>
<string name="release_3_0">• تشخیص علائم ایست با توجه به مسیر رانندگی
\n
\n• الگوریتم جدید برای دادن مقادیر صعود و نزولِ مناسب به مسیرهای GPX

View file

@ -2483,4 +2483,5 @@
<string name="speak_descr">יש להגדיר כדי לצורך הקראה של שמות רחובות, אזהרות תנועה (עצירות מאולצות, פסי האטה), אזהרות על מצלמות מהירות, מגבלת מהירות.</string>
<string name="animate_my_location_desc">הפעלת הנפשת גלישת מפה של המיקום שלי במהלך ניווט.</string>
<string name="shared_string_in_name">ב־%1$s</string>
<string name="one_tap_active_descr">ניתן לגעת בסמן על המפה כדי להעביר אותו לראש הסמנים הפעילים מבלי לפתוח את תפריט ההקשר.</string>
</resources>

View file

@ -3660,4 +3660,12 @@
<string name="poi_depot">Járműtároló</string>
<string name="poi_letter_box">Levélszekrény</string>
<string name="poi_post_street">Utca</string>
<string name="poi_post_housenumber">Házszám</string>
<string name="poi_post_flats">Lakás száma</string>
<string name="poi_payment_centre">Befizetőpont</string>
<string name="poi_money_transfer">Pénzküldő</string>
</resources>

View file

@ -2711,7 +2711,7 @@ Rappresenta l\'area: %1$s x %2$s</string>
<string name="shared_string_paused">In pausa</string>
<string name="type_city_town">Scrivi la città o il paese</string>
<string name="type_postcode">Scrivi il codice postale</string>
<string name="nearest_cities">Città nei dintorni</string>
<string name="nearest_cities">Città vicine</string>
<string name="select_city">Seleziona la città</string>
<string name="select_postcode">Seleziona il codice postale</string>
<string name="select_street">Seleziona la strada</string>
@ -2740,7 +2740,7 @@ Rappresenta l\'area: %1$s x %2$s</string>
<string name="hide_from_zoom_level">Nascondi dal livello di zoom</string>
<string name="srtm_menu_download_descr">Per visualizzare le linee isoipse nella mappa, devi scaricare la mappa delle linee isoipse per questa regione.</string>
<string name="shared_string_plugin">Componente aggiuntivo</string>
<string name="srtm_purchase_header">Per visualizzare le linee isoipse nella mappa, devi acquistare e installare il componente aggiuntivo Contour Lines</string>
<string name="srtm_purchase_header">Per visualizzare le linee isoipse nella mappa, devi acquistare e installare il componente aggiuntivo delle curve di livello</string>
<string name="srtm_color_scheme">Schema colori</string>
<string name="routing_attr_allow_private_name">Permetti l\'accesso alle proprietà private</string>
<string name="routing_attr_allow_private_description">Permetti l\'accesso alle aree private.</string>
@ -2837,7 +2837,7 @@ Rappresenta l\'area: %1$s x %2$s</string>
<string name="measurement_tool">Distanziometro</string>
<string name="none_point_error">Aggiungi almeno un punto.</string>
<string name="enter_gpx_name">Nome del file GPX:</string>
<string name="show_on_map_after_saving">Mostra sulla mappa dopo averlo salvato</string>
<string name="show_on_map_after_saving">Dopo averlo salvato mostralo sulla mappa</string>
<string name="mappilary_no_internet_desc">Hai bisogno di internet per vedere le foto di Mapillary</string>
<string name="add_waypoint">Aggiungi Waypoint</string>
<string name="save_gpx_waypoint">Salva Waypoint GPX</string>
@ -2852,7 +2852,7 @@ Rappresenta l\'area: %1$s x %2$s</string>
<string name="add_point_before">Aggiungi un punto prima</string>
<string name="add_point_after">Aggiungi un punto dopo</string>
<string name="shared_string_options">Opzioni</string>
<string name="measurement_tool_snap_to_road_descr">OsmAnd aggiungerà i punti al percorso, in base al tipo di navigazione.</string>
<string name="measurement_tool_snap_to_road_descr">OsmAnd collegherà i punti ai percorso in base al profilo di navigazione.</string>
<string name="measurement_tool_save_as_new_track_descr">Puoi salvare i punti sia come punti di un percorso che come linea.</string>
<string name="choose_navigation_type">Scegli il profilo di navigazione</string>
<string name="exit_without_saving">Uscire senza salvare?</string>
@ -2898,7 +2898,7 @@ Rappresenta l\'area: %1$s x %2$s</string>
<string name="routing_attr_avoid_ice_roads_fords_name">Evita strade di ghiaccio e guadi</string>
<string name="routing_attr_avoid_ice_roads_fords_description">Evita strade di ghiaccio e guadi.</string>
<string name="use_location">Utilizza la posizione</string>
<string name="add_location_as_first_point_descr">Aggiungo la tua posizione come primo punto per pianificare un percorso perfetto.</string>
<string name="add_location_as_first_point_descr">Aggiungi la tua posizione come primo punto per pianificare un percorso perfetto.</string>
<string name="my_location">Mia posizione</string>
<string name="shared_string_finish">Fine</string>
<string name="plan_route">Pianifica percorso</string>
@ -2911,8 +2911,8 @@ Rappresenta l\'area: %1$s x %2$s</string>
<string name="group_will_be_removed_after_restart">Il gruppo verrà rimosso al prossimo riavvio dell\'app.</string>
<string name="show_guide_line">Mostra le linee guida</string>
<string name="show_arrows_on_the_map">Mostra le frecce nella mappa</string>
<string name="show_passed">Mostra i precedenti</string>
<string name="hide_passed">Nascondi i precedenti</string>
<string name="show_passed">Mostra superati</string>
<string name="hide_passed">Nascondi i superati</string>
<string name="osmand_extended_description_part2">Navigazione GPS • Puoi scegliere fra la modalità offline (nessun costo di roaming quando sei all\'estero) oppure online (più veloce) • La guida vocale svolta per svolta ti guida lungo il percorso (voci registrate e sintetizzate) • Il percorso viene ricalcolato quando devii • Indicazioni di corsia, nomi delle strade e tempo di arrivo stimato saranno d\'aiuto lungo il percorso • Per rendere il percorso più veloce il passaggio dalla modalità diurna/notturna automatico •Puoi scegliere di visualizzare i limiti di velocità, ed essere avvisato quando li superi • Lo zoom della mappa si adegua alla velocità • Puoi cercare le destinazioni per indirizzo, per categoria (es.: parcheggio, ristorante, hotel, stazione di rifornimento, museo), oppure tramite le coordinate geografiche • Supporta i punti intermedi nel tuo itinerario • Puoi registrare la tua traccia GPX oppure caricarne una e seguirla</string>
<string name="osmand_extended_description_part3">Mappa • Mostra i PDI (punti di interesse) vicino a te • Disponi la mappa nella direzione del movimento (o della bussola) • Mostra dove sei e dove stai andando • Condividi la tua posizione perché i tuoi amici possano trovarti • Raccogli i luoghi più importanti nei Favoriti • Ti permette di scegliere come visualizzare i nomi nella mappa: in inglese, locale, oppure la pronuncia • Visualizza mattonelle online speciali, vista satellitare (di Bing), diverse sovrapposizioni come turistico/navigazione tracce GPX e strati aggiuntivi con trasparenze personalizzabili</string>
<string name="osmand_plus_extended_description_part1">OsmAnd+ (OSM Automatizzata Navigazione Direzioni) è un\'applicazione di navigazione con l\'accesso ai dati delle mappe mondiali, gratuite e di grande qualità OpenStreetMap (OSM). Goditi la navigazione con indicazioni visive e vocali, la visualizzazione dei PDI (punti di interesse), creando e gestendo le tracce GPX, usando visualizzazione delle linee isoipse e dell\'altitudine, scegliendo fra le modalità auto, bici, pedone, modifiche OSM e molto altro. OsmAnd+ è la versione dell\'app a pagamento. Acquistandola supporti il progetto, finanzi lo sviluppo di nuove funzionalità e ricevi gli ultimi aggiornamenti. Alcune delle maggiori caratteristiche:</string>
@ -2931,10 +2931,10 @@ Rappresenta l\'area: %1$s x %2$s</string>
<string name="import_track_desc">Il file %1$s non contiene punti intermedi, importarlo come traccia?</string>
<string name="move_point">Sposta il punto</string>
<string name="add_segment_to_the_track">Aggiungi a una traccia GPX</string>
<string name="osn_modify_dialog_error">Si é verificato un errore: la nota non è stata modificata</string>
<string name="osn_modify_dialog_error">Si è verificato un errore: la nota non è stata modificata</string>
<string name="shared_string_road">Strada</string>
<string name="show_map">Mostra la mappa</string>
<string name="route_is_calculated">Percorso ricalcolato</string>
<string name="route_is_calculated">Il percorso è calcolato</string>
<string name="round_trip">Percorso circolare</string>
<string name="plan_route_no_markers_toast">Devi aggiungere almeno un marcatore per utilizzare questa funzionalità.</string>
<string name="wrong_input">Dati immessi errati</string>
@ -2998,7 +2998,7 @@ Rappresenta l\'area: %1$s x %2$s</string>
<string name="one_tap_active_descr">Tappa un marcatore sulla mappa per muoverlo al primo posto nei marcatori attivi senza aprire il menù contestuale.</string>
<string name="one_tap_active">Un solo tap attivo</string>
<string name="empty_state_av_notes">Prendi delle note!</string>
<string name="empty_state_av_notes_desc">Aggiungi note audio, video o foto ad ogni punto sulla mappa, utilizzando il widget o il menù contestuale.</string>
<string name="empty_state_av_notes_desc">Aggiungi note audio, video o foto in qualsiasi punto sulla mappa, utilizzando il widget o il menù contestuale.</string>
<string name="notes_by_date">Note ordinate per data</string>
<string name="by_date">Per data</string>
<string name="by_type">Per ordine alfabetico</string>

View file

@ -2264,4 +2264,9 @@ Pôr do Sol: %2$s</string>
<string name="save_track_min_speed">Velocidade mínima para registro</string>
<string name="save_track_precision">Acuidade mínima para registro</string>
<string name="coords_format_descr">Formato para as coordenadas geográficas</string>
<string name="shared_string_back">Voltar</string>
<string name="view">Ver</string>
<string name="waypoints_added_to_map_markers">Pontos de passagem adicionados nos marcadores de mapa</string>
<string name="show_passed">Mostrar o que passou</string>
<string name="hide_passed">Ocultar o que passou</string>
</resources>

View file

@ -2679,4 +2679,9 @@
<string name="poi_visibility_area">Visibilidade: àrea</string>
<string name="poi_operational_status">Istadu operativu</string>
<string name="poi_post_street">Istrada</string>
<string name="poi_post_housenumber">Nùmeru tzìvicu</string>
<string name="poi_payment_centre">Tzentru de pagamentu</string>
<string name="poi_money_transfer">Tramudòngiu de dinare</string>
</resources>

View file

@ -17,13 +17,13 @@
<string name="map_widget_next_turn">Nästa sväng</string>
<string name="show_warnings_title">Visa varningar …</string>
<string name="show_warnings_descr">Konfigurera trafikvarningar (hastighetsbegränsningar, stopp, vägbulor), varning för fartkameror samt körfältsinformation.</string>
<string name="use_compass_navigation_descr">Använd kompassen när ingen riktning upptäcks på annat sätt</string>
<string name="use_compass_navigation_descr">Använd kompassen när ingen riktning upptäcks på annat sätt.</string>
<string name="use_compass_navigation">Använd kompass</string>
<string name="avoid_motorway">Undvik motorvägar</string>
<string name="auto_zoom_map_descr">Zooma in/ut automatiskt på kartan beroende på din hastighet (när kartan är synkroniserad med aktuell position)</string>
<string name="auto_zoom_map_descr">Zooma in/ut automatiskt på kartan beroende på din hastighet (när kartan är synkroniserad med aktuell position).</string>
<string name="auto_zoom_map">Automatisk kartzoomning</string>
<string name="snap_to_road_descr">Fäst positionen på vägen under navigering</string>
<string name="snap_to_road_descr">Fäst positionen på vägen under navigering.</string>
<string name="snap_to_road">Fäst på vägen</string>
<string name="filterpoi_activity">Skapa POI-filter</string>
@ -42,7 +42,7 @@
<string name="avoid_unpaved">Undvik oasfalterade vägar</string>
<string name="avoid_ferries">Undvik färjor</string>
<string name="avoid_in_routing_title">Undvik …</string>
<string name="avoid_in_routing_descr">Undvik motorvägar, betalvägar, oasfalterade vägar, färjor</string>
<string name="avoid_in_routing_descr">Undvik motorvägar, betalvägar, oasfalterade vägar, färjor.</string>
<string name="map_widget_show_ruler">Linjal</string>
<string name="map_widget_view_direction">Färdriktning</string>
@ -133,7 +133,7 @@ Proportionellt minne %4$s MB (Android-gräns %5$s MB, Dalvik %6$s MB).</string>
<string name="transport_search_desc">Kollektivtrafiksökning</string>
<string name="offline_navigation_not_available">OsmAnd offlinenavigering är inte tillgänglig för tillfället.</string>
<string name="left_side_navigation">Vänstertrafik</string>
<string name="left_side_navigation_descr">Välj för länder med vänstertrafik</string>
<string name="left_side_navigation_descr">Välj för länder med vänstertrafik.</string>
<string name="unknown_from_location">Startpunkten är ännu inte bestämd</string>
<string name="unknown_location">Positionen är ännu inte känd</string>
@ -141,7 +141,7 @@ Proportionellt minne %4$s MB (Android-gräns %5$s MB, Dalvik %6$s MB).</string>
<string name="local_indexes_cat_tile">Online-kartor och mellanlagrade kartbitar (tiles)</string>
<string name="local_indexes_cat_map">Standardkartor (vektor)</string>
<string name="index_settings_descr">Ladda ner och hantera offline-kartor lagrade på din enhet</string>
<string name="index_settings_descr">Ladda ner och hantera offline-kartor lagrade på din enhet.</string>
<string name="shared_string_online_maps">Online-kartor</string>
<string name="osmand_accessibility_description">Denna modul gör så att inställningarna för att aktivera speciella tillgänglighetsfunktioner blir direkt åtkomliga i OsmAnd och underlättar t.ex. justering av talhastigheten för TTS-röster, konfigurering av skärmnavigering med hjälp av en styrkula för zoomkontroll eller användande av återkoppling med text-till-tal, t.ex. för att meddela din position automatiskt.</string>
@ -154,7 +154,7 @@ Proportionellt minne %4$s MB (Android-gräns %5$s MB, Dalvik %6$s MB).</string>
<string name="validate_gpx_upload_name_pwd">Vänligen ange OSM användarnamn och lösenord för att ladda upp GPX-filer.</string>
<string name="accessibility_mode">Tillgänglighetsläge</string>
<string name="accessibility_mode_descr">Sätter på tillgänglighetsfunktioner</string>
<string name="accessibility_mode_descr">Sätter på tillgänglighetsfunktioner.</string>
<string name="shared_string_on"></string>
<string name="shared_string_off">Av</string>
<string name="accessibility_default">Enligt de globala systeminställningarna</string>
@ -202,12 +202,12 @@ Du hittar din parkeringsplats och -tid på instrumentbrädan och i widgeten på
<string name="context_menu_item_delete_parking_point">Ta bort P-markering</string>
<string name="asap">Snarast</string>
<string name="route_roundabout">Rondell: ta %1$d avfarten och kör</string>
<string name="rendering_attr_noPolygons_description">Gör alla ytor på kartan transparenta</string>
<string name="rendering_attr_noPolygons_description">Gör alla ytor på kartan transparenta.</string>
<string name="rendering_attr_noPolygons_name">Polygoner</string>
<string name="rendering_attr_appMode_name">Renderingsläge</string>
<string name="rendering_attr_contourLines_description">Visning från zoomnivå (kräver höjdkurvsdata):</string>
<string name="rendering_attr_contourLines_name">Visa höjdkurvor</string>
<string name="rendering_attr_hmRendered_description">Öka antalet kartdetaljer som visas</string>
<string name="rendering_attr_hmRendered_description">Öka antalet kartdetaljer som visas.</string>
<string name="rendering_attr_hmRendered_name">Visa mer kartdetaljer</string>
<string name="local_index_routing_data">Ruttdata</string>
<string name="navigate_point_format">Format</string>
@ -220,8 +220,8 @@ Du hittar din parkeringsplats och -tid på instrumentbrädan och i widgeten på
<string name="select_index_file_to_download">Hittade ingenting. Om du inte kan hitta din region, kan du skapa den själv (se http://osmand.net).</string>
<string name="map_online_plugin_is_not_installed">Aktivera modulen online-kartor för att välja olika kartkällor</string>
<string name="map_online_data">Online-kartor och kartbitar (tiles)</string>
<string name="map_online_data_descr">Använd online-kartor (ladda ner och cacha kartbitar på SD-kortet)</string>
<string name="online_map_settings_descr">Konfigurera online- eller cachade källor för kartbitar</string>
<string name="map_online_data_descr">Använd online-kartor (ladda ner och cacha kartbitar på SD-kortet).</string>
<string name="online_map_settings_descr">Konfigurera online- eller cachade källor för kartbitar.</string>
<string name="osmand_rastermaps_plugin_description">"Med denna modul får man tillgång till många typer av online-kartor, från fördefinierade Openstreetmap-rutor (som Mapnik) till satellitbilder och speciella lager såsom väderkartor, klimatkartor, geologiska kartor, reliefkartor etc.
@ -240,7 +240,7 @@ Du hittar din parkeringsplats och -tid på instrumentbrädan och i widgeten på
<string name="osmand_parking_time_no_limit">Ej tidsbegränsad parkering</string>
<string name="osmand_parking_position_description">Din parkerade bils plats. %1$s</string>
<string name="prefs_plugins_descr">Insticksmoduler aktiverar avancerade inställningar samt ger ytterligare funktionalitet</string>
<string name="prefs_plugins_descr">Insticksmoduler aktiverar avancerade inställningar samt ger ytterligare funktionalitet.</string>
<string name="prefs_plugins">Insticksmoduler</string>
<string name="osm_editing_plugin_description">"Med denna modul kan OsmAnd användas för att göra bidrag till OSM såsom samlande/modifierande av OSM POI-objekt, öppnande/kommenterande av OSM-anteckningar, och bidragande med inspelade GPX-filer. OSM är ett globalt kartprojekt inom public domain, För mer info, se https://openstreetmap.org. Aktivt deltagande uppskattas och bidrag kan ges direkt i OsmAnd om du anger dina personiga OSM-referenser i appen."</string>
@ -284,19 +284,19 @@ OsmAnd utvecklas aktivt och vårt projekt och dess fortsatta framsteg bygger på
<string name="direction_style_sidewise">Sidled (8 sektorer)</string>
<string name="direction_style_clockwise">Medurs (12 sektorer)</string>
<string name="settings_direction_style">Riktningsstil</string>
<string name="settings_direction_style_descr">Välj sätt att uttrycka relativa riktningar under rörelse</string>
<string name="settings_direction_style_descr">Välj sätt att uttrycka relativa riktningar under rörelse.</string>
<string name="auto_announce_on">Börja meddela automatiskt</string>
<string name="auto_announce_off">Sluta meddela automatiskt</string>
<string name="i_am_here">Jag är här</string>
<string name="zoom_by_trackball_descr">Ändra kartzoom med horisontell flyttning av styrkulan</string>
<string name="zoom_by_trackball_descr">Ändra kartzoom med horisontell flyttning av styrkulan.</string>
<string name="zoom_by_trackball">Använd styrkula för zoom-kontroll</string>
<string name="accessibility_preferences_descr">Tillgänglighetsrelaterade inställningar</string>
<string name="accessibility_preferences_descr">Tillgänglighetsrelaterade inställningar.</string>
<string name="shared_string_accessibility">Tillgänglighet</string>
<string name="rendering_out_of_memory">Inte tillräckligt med processminne för att visa valt område</string>
<string name="use_fluorescent_overlays">Fluorescerande överlägg</string>
<string name="use_fluorescent_overlays_descr">Använd fluorescerande färger för att visa spår och rutter</string>
<string name="use_fluorescent_overlays_descr">Använd fluorescerande färger för att visa spår och rutter.</string>
<string name="offline_edition">Offline-redigering</string>
<string name="offline_edition_descr">Använd alltid offline-redigering</string>
<string name="offline_edition_descr">Använd alltid offline-redigering.</string>
<string name="update_poi_does_not_change_indexes">POI-förändringar inom programmet påverkar inte nedladdade kartfiler; förändringar sparas till en lokal fil istället.</string>
<string name="local_openstreetmap_uploading">Laddar upp …</string>
@ -307,19 +307,19 @@ OsmAnd utvecklas aktivt och vårt projekt och dess fortsatta framsteg bygger på
<string name="local_openstreetmap_delete">Ta bort ändringen</string>
<string name="local_openstreetmap_descr_title">Asynkron OSM-redigering:</string>
<string name="local_openstreetmap_settings">Lokalt sparade OSM-POIs/-Anteckningar</string>
<string name="local_openstreetmap_settings_descr">Visa och hantera OSM-POIs/-anteckningar noterade i lokal databas</string>
<string name="local_openstreetmap_settings_descr">Visa och hantera OSM-POIs/-anteckningar noterade i lokal databas.</string>
<string name="live_monitoring_interval_descr">Ange intervall för direktspårning</string>
<string name="live_monitoring_interval_descr">Ange intervall för direktspårning.</string>
<string name="live_monitoring_interval">Intervall för direktspårning</string>
<string name="live_monitoring_url_descr">Ange webbadressen med parametersyntax: lat={0}, lon={1}, tidsstämpel={2}, hdop={3}, höjd={4}, hastighet={5}, bearing={6}</string>
<string name="live_monitoring_url_descr">Ange webbadressen med parametersyntax: lat={0}, lon={1}, tidsstämpel={2}, hdop={3}, höjd={4}, hastighet={5}, bäring={6}.</string>
<string name="live_monitoring_url">Webbadress för direktspårning</string>
<string name="gpx_monitoring_disabled_warn">Logga spår med GPX-widget eller via inställningen \'Trippinspelning\'.</string>
<string name="show_current_gpx_title">Visa aktuellt spår</string>
<string name="free_version_message">Denna gratisversion av OsmAnd är begränsad till %1$s nedladdningar och stöder inte Wikipedia-artiklar offline.</string>
<string name="free_version_message">Denna gratisversion av OsmAnd är begränsad till %1$s nedladdningar (för att lägga till eller uppdatera kartor) och stöder inte Wikipedia-artiklar offline.</string>
<string name="free_version_title">Gratisversion</string>
<string name="poi_context_menu_showdescription">Visa POI-beskrivning</string>
<string name="poi_context_menu_showdescription">Visa POI-beskrivning.</string>
<string name="index_name_north_america">Nordamerika</string>
<string name="index_name_us">Nordamerika - USA</string>
<string name="index_name_central_america">Centralamerika</string>
@ -342,17 +342,17 @@ OsmAnd utvecklas aktivt och vårt projekt och dess fortsatta framsteg bygger på
<string name="settings_preset">Standardprofil</string>
<string name="settings_preset_descr">Kartvy och navigeringsinställningar är kopplade till din profil. Ange din standardprofil här.</string>
<string name="routing_settings">Navigering</string>
<string name="routing_settings_descr">Ange navigeringsalternativ</string>
<string name="routing_settings_descr">Ange navigeringsalternativ.</string>
<string name="global_settings">Globala inställningar</string>
<string name="general_settings">Allmänna inställningar</string>
<string name="general_settings_descr">Konfigurera globala inställningar</string>
<string name="general_settings_descr">Konfigurera globala inställningar.</string>
<string name="global_app_settings">Globala inställningar</string>
<string name="user_name">Ditt OSM-användarnamn</string>
<string name="open_street_map_login_descr">Behövs för ändringar i openstreetmap.org</string>
<string name="open_street_map_login_descr">Behövs för ändringar i openstreetmap.org.</string>
<string name="user_password">Ditt OSM-lösenord</string>
<string name="osmand_service">Bakgrundsläge</string>
<string name="osmand_service_descr">OsmAnd körs i bakgrunden medan skärmen är avstängd</string>
<string name="osmand_service_descr">OsmAnd körs i bakgrunden medan skärmen är avstängd.</string>
<string name="download_files_not_enough_space">Det finns inte tillräckligt med ledigt utrymme för att ladda ner %1$s MB (ledigt: %2$s).</string>
@ -365,7 +365,7 @@ Nyttjat utrymme är {1} MB.
<string name="native_library_not_supported">Inbyggt bibliotek stöds inte på den här enheten.</string>
<string name="init_native_library">Initierar inbyggt bibliotek …</string>
<string name="choose_auto_follow_route">Auto-centrerad kartvy</string>
<string name="choose_auto_follow_route_descr">Tid tills kartvyn synkroniseras med aktuell position</string>
<string name="choose_auto_follow_route_descr">Tid tills kartvyn synkroniseras med aktuell position.</string>
<string name="auto_follow_route_navigation">Auto-centrera endast nav</string>
<string name="auto_follow_route_navigation_descr">Auto-centrera kartan endast vid navigering.</string>
@ -410,7 +410,7 @@ Nyttjat utrymme är {1} MB.
<string name="local_index_items_uploaded">%1$d av %2$d post(er) har överförts utan problem.</string>
<string name="local_index_mi_upload_gpx">Skicka till OSM</string>
<string name="show_more_map_detail">Visa mer kartdetaljer</string>
<string name="show_more_map_detail_descr">Visa några vektor-kartdetaljer (vägar, etc.) vid lägre zoom</string>
<string name="show_more_map_detail_descr">Visa några vektor-kartdetaljer (vägar, etc.) vid lägre zoom.</string>
<string name="favourites_delete_multiple_succesful">Favoritpunkt(er) har tagits bort utan problem.</string>
<string name="favorite_delete_multiple">Du håller på att ta bort %1$d favorit(er) och %2$d favoritgrupp(er). Är du säker?</string>
<string name="favorite_home_category">Hem</string>
@ -445,10 +445,10 @@ Nyttjat utrymme är {1} MB.
<string name="local_indexes_cat_poi">Intressepunktsdata</string>
<string name="ttsvoice">TTS-röst</string>
<string name="search_offline_clear_search">Ny sökning</string>
<string name="map_text_size_descr">Välj textstorlek för namn på kartan</string>
<string name="map_text_size_descr">Välj textstorlek för namn på kartan.</string>
<string name="map_text_size">Teckenstorlek på karta</string>
<string name="trace_rendering">Renderingsfelsökningsinformation</string>
<string name="trace_rendering_descr">Visa renderingsprestanda</string>
<string name="trace_rendering_descr">Visa renderingsprestanda.</string>
<string name="installing_new_resources">Packar upp nya data …</string>
@ -463,40 +463,40 @@ Nyttjat utrymme är {1} MB.
<string name="switch_to_vector_map_to_see"><![CDATA[En offline vektor-karta finns tillgänglig för den här platsen.
\n\t\n\tFör användning aktivera \'Meny\' -> \'Konfigurera karta\' -> \'Kartkälla…\' -> \'Offline vektor-kartor\'.]]></string>
<string name="choose_audio_stream">Röstväglednings-output</string>
<string name="choose_audio_stream_descr">Välj högtalare för uppspelning av röstvägledning</string>
<string name="choose_audio_stream_descr">Välj högtalare för uppspelning av röstvägledning.</string>
<string name="voice_stream_voice_call">Telefonsamtalsljud (även för att avbryta bluetooth-bilstereo)</string>
<string name="voice_stream_notification">Ljudnotifiering</string>
<string name="voice_stream_music">Media-/musikljud</string>
<string name="warning_tile_layer_not_downloadable">Appen kan inte hämta kartlager %1$s. Försök installera om det.</string>
<string name="overlay_transparency_descr">Ändra överläggstransparens</string>
<string name="overlay_transparency_descr">Ändra överläggstransparens.</string>
<string name="overlay_transparency">Överläggstransparens</string>
<string name="map_transparency_descr">Ändra transparens för baskartan</string>
<string name="map_transparency_descr">Ändra transparens för baskartan.</string>
<string name="map_transparency">Transparens för baskartan</string>
<string name="layer_underlay">Underläggskarta …</string>
<string name="map_underlay">Underläggskarta</string>
<string name="map_underlay_descr">Välj underläggskarta</string>
<string name="map_underlay_descr">Välj underläggskarta.</string>
<string name="layer_overlay">Överläggskarta …</string>
<string name="map_overlay">Överläggskarta</string>
<string name="map_overlay_descr">Välj överläggskarta</string>
<string name="tile_source_already_installed">Kartan är redan installerad; inställningarna kommer att uppdateras</string>
<string name="select_tile_source_to_install">Välj kartor/kartrutor att installera eller uppdatera</string>
<string name="internet_not_available">En anslutning till Internet krävs för denna åtgärd men någon sådan är inte tillgänglig</string>
<string name="map_overlay_descr">Välj överläggskarta.</string>
<string name="tile_source_already_installed">Kartan är redan installerad; inställningarna kommer att uppdateras.</string>
<string name="select_tile_source_to_install">Välj kartor/kartrutor att installera eller uppdatera.</string>
<string name="internet_not_available">En anslutning till Internet krävs för denna åtgärd men någon sådan är inte tillgänglig.</string>
<string name="install_more">Installera fler …</string>
<string name="level_to_switch_vector_raster_descr">Minsta zoomnivå för att använda vektorkartor</string>
<string name="level_to_switch_vector_raster_descr">Minsta zoomnivå för att använda vektorkartor.</string>
<string name="level_to_switch_vector_raster">Minsta vektor-zoomnivå</string>
<string name="error_doing_search">Ett fel uppstod vid offline-sökning</string>
<string name="search_offline_geo_error">Det gick inte att tolka geo uppsåt \'%s\'</string>
<string name="error_doing_search">Ett fel uppstod vid offline-sökning.</string>
<string name="search_offline_geo_error">Det gick inte att tolka geo-uppsåt \'%s\'.</string>
<string name="search_osm_offline">Sök adress med hjälp av offline-kartor</string>
<string name="system_locale">System</string>
<string name="preferred_locale_descr">Välj visningsspråk (starta om OsmAnd efter språkbyte)</string>
<string name="preferred_locale_descr">Välj visningsspråk (starta om OsmAnd efter språkbyte).</string>
<string name="preferred_locale">Visningsspråk</string>
<string name="shared_string_next">Nästa</string>
<string name="shared_string_previous">Föregående</string>
<string name="unit_of_length_descr">Ändra enheter för avstånd</string>
<string name="unit_of_length_descr">Ändra enheter för avstånd.</string>
<string name="unit_of_length">Enheter för avstånd</string>
<string name="si_mi_feet">Eng. mil/fot</string>
<string name="si_mi_yard">Eng. mil/yard</string>
@ -594,14 +594,14 @@ Nyttjat utrymme är {1} MB.
<string name="daynight_mode_night">Natt</string>
<string name="daynight_mode_auto">Soluppgång/solnedgång</string>
<string name="daynight_mode_sensor">Ljussensor</string>
<string name="daynight_descr">Välj regel för byte mellan dag- och nattläge</string>
<string name="daynight_descr">Välj regel för byte mellan dag- och nattläge.</string>
<string name="daynight">Dag-/nattläge</string>
<string name="download_files_question">Ladda ner {0} fil(er) ({1} MB)?</string>
<string name="items_were_selected">{0} post(er) markerad(e)</string>
<string name="filter_existing_indexes">Visa nerladdat</string>
<string name="fast_route_mode">Snabbaste vägen</string>
<string name="fast_route_mode_descr">Aktivera för att beräkna den snabbaste vägen eller inaktivera för den bränslesnålaste vägen</string>
<string name="fast_route_mode_descr">Aktivera för att beräkna den snabbaste vägen eller inaktivera för den bränslesnålaste vägen.</string>
<string name="tiles_to_download_estimated_size">Vid zoom {0} hämta {1} kartbitar ({2} MB)</string>
<string name="shared_string_download_map">Ladda ner karta</string>
<string name="poi_filter_sightseeing">Sevärdheter</string>
@ -610,13 +610,13 @@ Nyttjat utrymme är {1} MB.
<string name="select_max_zoom_preload_area">Välj maximal zoom att förladda</string>
<string name="maps_could_not_be_downloaded">Denna karta kunde inte laddas ner</string>
<string name="continuous_rendering">Kontinuerlig rendering</string>
<string name="continuous_rendering_descr">Visa kontinuerlig rendering istället för bild-direkt</string>
<string name="continuous_rendering_descr">Visa kontinuerlig rendering istället för direkt-bild.</string>
<string name="rendering_exception">Ett fel uppstod vid renderingen av valt område</string>
<string name="show_point_options">Använd platsen …</string>
<string name="renderer_load_sucess">Renderaren laddades utan problem</string>
<string name="renderer_load_exception">Ett undantagsfel inträffade: renderaren laddades inte</string>
<string name="renderers">Vektorrenderare</string>
<string name="renderers_descr">Välj renderingsutseende</string>
<string name="renderers_descr">Välj renderingsutseende.</string>
<string name="poi_context_menu_website">Visa POI-webbplats</string>
<string name="poi_context_menu_call">Visa POI-telefon</string>
@ -626,7 +626,7 @@ Nyttjat utrymme är {1} MB.
<string name="phone">Telefon</string>
<string name="download_type_to_filter">Skriv för att filtrera</string>
<string name="use_high_res_maps">Skärm med hög upplösning</string>
<string name="use_high_res_maps_descr">Sträck inte ut (och gör oskarpa) kartbitar på högupplösta skärmar</string>
<string name="use_high_res_maps_descr">Sträck inte ut (och gör oskarpa) kartbitar på högupplösta skärmar.</string>
<string name="context_menu_item_search_transport">Sök kollektivtrafik</string>
<string name="transport_searching_transport">Transportresultat (ingen destination):</string>
@ -648,7 +648,7 @@ Nyttjat utrymme är {1} MB.
<string name="rotate_map_compass_opt">Till kompass</string>
<string name="rotate_map_bearing_opt">I färdriktningen</string>
<string name="rotate_map_none_opt">Vrid inte (norr är uppåt)</string>
<string name="rotate_map_to_bearing_descr">Välj justering av kartskärmen</string>
<string name="rotate_map_to_bearing_descr">Välj justering av kartskärmen.</string>
<string name="rotate_map_to_bearing">Kartorientering</string>
<string name="show_route">Ruttdetaljer</string>
<string name="fav_imported_sucessfully">Favoriterna importerades utan problem</string>
@ -666,14 +666,14 @@ Nyttjat utrymme är {1} MB.
<string name="layer_route">Rutt</string>
<string name="layer_osm_bugs">OSM-anteckningar (online)</string>
<string name="layer_poi">Intressepunkter (POI) …</string>
<string name="layer_poi">Överlägg (POI) …</string>
<string name="layer_map">Kartkälla …</string>
<string name="menu_layers">Kartlager</string>
<string name="context_menu_item_search_poi">Sök intressepunkt</string>
<string name="use_trackball_descr">Använd styrkulan för att flytta kartan</string>
<string name="use_trackball_descr">Använd styrkulan för att flytta kartan.</string>
<string name="use_trackball">Använd styrkula</string>
<string name="background_service_wait_int_descr">Ange maximal väntetid för varje positionsbestämning i bakgrunden</string>
<string name="background_service_wait_int_descr">Ange maximal väntetid för varje positionsbestämning i bakgrunden.</string>
<string name="background_service_wait_int">Maximal väntetid för fix</string>
<string name="where_am_i">Var är jag?</string>
@ -681,11 +681,11 @@ Nyttjat utrymme är {1} MB.
<string name="network_provider">Nätverk</string>
<string name="gps_provider">GPS</string>
<string name="int_seconds">sekunder</string>
<string name="background_service_int_descr">Ange väckningsintervall som används av bakgrundstjänsten</string>
<string name="background_service_int_descr">Ange väckningsintervall som används av bakgrundstjänsten.</string>
<string name="background_service_int">GPS-väckningsintervall</string>
<string name="background_service_provider_descr">Välj platsleverantör för bakgrundstjänsten</string>
<string name="background_service_provider_descr">Välj platsleverantör för bakgrundstjänsten.</string>
<string name="background_service_provider">Platsleverantör</string>
<string name="background_router_service_descr">Kör OsmAnd i bakgrunden för att spåra din position medan skärmen är avstängd</string>
<string name="background_router_service_descr">Kör OsmAnd i bakgrunden för att spåra din position medan skärmen är avstängd.</string>
<string name="background_router_service">Kör OsmAnd i bakgrunden</string>
<string name="off_router_service_no_gps_available">Tjänsten bakgrundsnavigering kräver en platsleverantör för att vara påslagen.</string>
<string name="hide_poi_filter">Dölj filter</string>
@ -721,7 +721,7 @@ Nyttjat utrymme är {1} MB.
<string name="map_orientation_portrait">Stående</string>
<string name="map_orientation_landscape">Liggande</string>
<string name="map_screen_orientation">Skärmorientering</string>
<string name="map_screen_orientation_descr">Stående, liggande eller som enheten</string>
<string name="map_screen_orientation_descr">Stående, liggande eller som enheten.</string>
<string name="opening_hours_not_supported">Öppettider format stöds inte för redigering</string>
<string name="add_new_rule">Lägg till en ny regel</string>
<string name="transport_Routes">Rutter</string>
@ -737,7 +737,7 @@ Nyttjat utrymme är {1} MB.
<string name="transport_route_distance">Resvägssträcka</string>
<string name="transport">Transporter</string>
<string name="shared_string_ok">OK</string>
<string name="show_transport_over_map_description">Visa hållplatser för kollektivtrafik på kartan</string>
<string name="show_transport_over_map_description">Visa hållplatser för kollektivtrafik på kartan.</string>
<string name="show_transport_over_map">Visa hållplatser</string>
<string name="hello">Navigationsappen OsmAnd</string>
<string name="update_poi_success">POI-data har uppdaterats utan problem ({0} laddades)</string>
@ -758,9 +758,9 @@ Nyttjat utrymme är {1} MB.
<string name="searching_address">Söker adress …</string>
<string name="hint_search_online">Online-sökning: Husnummer, gata, stad</string>
<string name="search_offline_address">Offline</string>
<string name="max_level_download_tile_descr">Välj högsta zoomnivå att ladda ner för online-kartbitar</string>
<string name="max_level_download_tile_descr">Välj högsta zoomnivå att ladda ner för online-kartbitar.</string>
<string name="route_general_information">Total sträcka %1$s, restid %2$d h %3$d min.</string>
<string name="router_service_descr">Välj en online- eller offline-navigeringstjänst</string>
<string name="router_service_descr">Välj en online- eller offline-navigeringstjänst.</string>
<string name="router_service">Navigeringstjänst</string>
<string name="sd_dir_not_accessible">Datalagringsmappen på SD-kortet är inte tillgänglig!</string>
<string name="download_question">Ladda ner {0} - {1}?</string>
@ -918,7 +918,7 @@ Nyttjat utrymme är {1} MB.
<string name="delete_target_point">Ta bort destination</string>
<string name="intermediate_point">Mellanliggande destination %1$s</string>
<string name="poi_filter_nominatim">Online Nominatim</string>
<string name="local_index_descr_title">Hantera kartfiler</string>
<string name="local_index_descr_title">Hantera kartfiler.</string>
<string name="incomplete_locale">ofullständig</string>
<string name="search_osm_nominatim">Sök adress med OSM Nominatim</string>
<string name="max_level_download_tile">Max. online-zoom</string>
@ -940,10 +940,10 @@ Nyttjat utrymme är {1} MB.
<string name="finished_task">Slutförd</string>
<string name="use_online_routing_descr">Använd Internet för att beräkna rutt</string>
<string name="use_online_routing_descr">Använd Internet för att beräkna en rutt.</string>
<string name="use_online_routing">Använd online-navigering</string>
<string name="osm_settings_descr">Ange inställningar för Openstreetmap.org (OSM) som behövs för bidrag till OSM</string>
<string name="data_settings_descr">Ange språk, ladda ner/om data</string>
<string name="osm_settings_descr">Ange inställningar för OpenStreetMap.org (OSM) som behövs för bidrag till OSM.</string>
<string name="data_settings_descr">Ange språk, ladda ner/om data.</string>
<string name="data_settings">Data</string>
<string name="osm_settings">Redigera OSM</string>
@ -959,15 +959,15 @@ Nyttjat utrymme är {1} MB.
<string name="mark_point">Mål</string>
<string name="use_english_names_descr">Välj mellan inhemska och engelska namn på kartorna</string>
<string name="use_english_names_descr">Välj mellan inhemska och engelska namn på kartorna.</string>
<string name="use_english_names">Namn på engelska</string>
<string name="app_settings">Appinställningar</string>
<string name="search_address">Sök adress</string>
<string name="map_view_3d_descr">Aktivera 3D-vy på kartan</string>
<string name="map_view_3d_descr">Aktivera 3D-vy på kartan.</string>
<string name="map_view_3d">3D-vy på kartan</string>
<string name="show_poi_over_map_description">Visa POI över karta (använd det senast valda filtret)</string>
<string name="show_poi_over_map">Visa intressepunkt</string>
<string name="map_tile_source_descr">Välj källa för onlinekartor eller cachade kartbitar</string>
<string name="show_poi_over_map_description">Visa det senast valda POI-överlägget på kartan.</string>
<string name="show_poi_over_map">Visa POI-överlägg</string>
<string name="map_tile_source_descr">Välj källa för onlinekartor eller cachade kartbitar.</string>
<string name="map_tile_source">Källa för kartbitar</string>
<string name="map_source">Kartkälla</string>
<string name="show_location">Visa din position</string>
@ -1000,7 +1000,7 @@ Nyttjat utrymme är {1} MB.
<string name="incremental_search_building">Sök byggnader stegvis</string>
<string name="show_view_angle">Visa färdriktning</string>
<string name="Closest_Amenities">Närmaste bekvämligheter</string>
<string name="support_new_features_descr">Skänk lite pengar så att nya funktioner kan läggas till i appen</string>
<string name="support_new_features_descr">Skänk lite pengar så att nya funktioner kan läggas till i appen.</string>
<string name="download_hillshade_maps">Skuggad relief</string>
@ -1141,7 +1141,7 @@ Nyttjat utrymme är {1} MB.
<string name="base_world_map">Baskarta (världen)</string>
<string name="av_camera_focus">Typ av kamerafokus</string>
<string name="av_camera_focus_descr">Välj typ av intern kamerafokus</string>
<string name="av_camera_focus_descr">Välj läge för intern kamerafokus.</string>
<string name="av_camera_focus_auto">Autofokus</string>
<string name="av_camera_focus_hiperfocal">Hyperfokal fokus</string>
<string name="av_camera_focus_edof">Utökat skärpedjup (EDOF)</string>
@ -1149,7 +1149,7 @@ Nyttjat utrymme är {1} MB.
<string name="av_camera_focus_macro">Makrofokusläge (närbild)</string>
<string name="av_camera_focus_continuous">Kameran försöker fokusera hela tiden</string>
<string name="av_photo_play_sound">Spela upp ljud vid tagning av foto</string>
<string name="av_photo_play_sound_descr">Välj om ett ljud ska spelas upp vid fotografering</string>
<string name="av_photo_play_sound_descr">Välj om ett ljud ska spelas upp vid fotografering.</string>
<string name="map_magnifier">Kartförstoring</string>
@ -1281,12 +1281,12 @@ Nyttjat utrymme är {1} MB.
\nDu kan spåra alla enheter som är medlemmar i en grupp i realtid och ni kan kommunicera med varandra. Det finns olika alternativ för sessionsspårning eller permanent spårning.
\n
\nAnonyma grupper kan skapas för ett specificerat antal dagar och begränsas till bestämda funktioner, d.v.s. det finns ingen fjärrkontroll eller gruppadministratör. Helt fungerande grupper kan å andra sidan skapas på webbplatsen och endast registrerade användare har tillgång till dem. "</string>
<string name="interrupt_music_descr">Avbryt all musik vid meddelanden (sänk inte endast volymen)</string>
<string name="interrupt_music_descr">Avbryt all musik vid röstmeddelanden (sänk inte endast volymen).</string>
<string name="interrupt_music">Pausa musiken</string>
<string name="share_route_as_gpx">Dela rutt som GPX-fil</string>
<string name="share_route_subject">Utdelad rutt via OsmAnd</string>
<string name="keep_informing_never">Endast manuellt (tryck på pilen)</string>
<string name="keep_informing_descr">Läs upp navigationsinstruktioner med regelbundna intervall</string>
<string name="keep_informing_descr">Läs upp navigationsinstruktioner med regelbundna intervall.</string>
<string name="keep_informing">Upprepa navigationsinstruktioner</string>
<string name="osmo_io_error">Anslutningsproblem med OsMo: </string>
@ -1408,7 +1408,7 @@ Nyttjat utrymme är {1} MB.
<string name="arrival_distance">Ankomstmeddelande</string>
<string name="arrival_distance_descr">Hur tidigt vill du höra ankomstmeddelandet?</string>
<string name="create_poi_link_to_osm_doc"><u>Online OSM</u>-kartklassificering med bilder</string>
<string name="create_poi_link_to_osm_doc"><u>Online OSM</u>-kartklassificering med bilder.</string>
<string name="import_file_favourites">Spara data som GPX-fil eller importera waypoints till favoriter?</string>
<string name="share_fav_subject">Favoriter utdelade via OsmAnd</string>
<string name="commiting_node">Skickar nod…</string>
@ -1496,7 +1496,7 @@ Vill du fortsätta med en ny registrering?</string>
<string name="arrival_distance_factor_at_last">De sista metrarna</string>
<string name="av_camera_pic_size">Fotostorlek</string>
<string name="av_camera_pic_size_descr">Välj fotostorlek för intern kamera</string>
<string name="av_camera_pic_size_descr">Välj fotostorlek för den interna kameran.</string>
<string name="rendering_value_car_name">Bil</string>
<string name="rendering_value_bicycle_name">Cykel</string>
@ -1795,7 +1795,7 @@ Long %2$s</string>
<string name="routing_attr_avoid_borders_description">Undvik att korsa gränsen till ett annat land.</string>
<string name="routing_attr_height_name">Höjdgräns</string>
<string name="use_fast_recalculation">Smart omräkning av rutt</string>
<string name="use_fast_recalculation_desc">Räkna om endast början av rutten för långa resor</string>
<string name="use_fast_recalculation_desc">Räkna om endast början av rutten för långa resor.</string>
<string name="routing_attr_height_description">Ange tillåten fordonshöjd på rutter.</string>
<string name="osmo_share_my_location">Skicka positionen</string>
@ -1966,7 +1966,7 @@ Long %2$s</string>
<string name="value_downloaded_of_max">%1$.1f av %2$.1f MB</string>
<string name="update_all">Uppdatera alla (%1$s MB)</string>
<string name="free_downloads_used">Gratis nedladdningar hämtade</string>
<string name="free_downloads_used_description">Visar antalet gratisnedladdningar du gjort</string>
<string name="free_downloads_used_description">Visar antalet gratisnedladdningar du gjort.</string>
<string name="downloading_number_of_files">Hämtar - %1$d fil(er)</string>
<string name="share_geo">geo:</string>
@ -1988,8 +1988,8 @@ Long %2$s</string>
<string name="other_menu_group">Annat</string>
<string name="plugins_menu_group">Insticksmoduler</string>
<string name="first_usage_item">Första gången</string>
<string name="first_usage_item_description">Hur man hämtar kartor och gör grundinställningar</string>
<string name="navigation_item_description">Ställa in navigering</string>
<string name="first_usage_item_description">Hur man hämtar kartor och gör grundinställningar.</string>
<string name="navigation_item_description">Ställa in navigering.</string>
<string name="faq_item">Frågor och svar</string>
<string name="faq_item_description">Frågor och svar</string>
<string name="map_viewing_item">Kartvisning</string>
@ -2503,7 +2503,7 @@ Vänligen tillhandahåll fullständig kod</string>
<string name="quick_action_map_overlay_title">Kartöverlägg</string>
<string name="quick_action_map_overlay_action">Lägg till överlägg</string>
<string name="quick_action_map_overlay_switch">"Kartöverlägget har ändrats till \"%s\"."</string>
<string name="quick_action_btn_tutorial_descr">Tryck länge och dra knappen för att ändra dess position på skärmen</string>
<string name="quick_action_btn_tutorial_descr">Tryck länge och dra knappen för att ändra dess position på skärmen.</string>
<string name="routing_attr_height_obstacles_name">Använd höjddata</string>
<string name="routing_attr_height_obstacles_description">Använd terränghöjddata från SRTM, ASTER och EU-DEM.</string>

View file

@ -3644,4 +3644,12 @@
<string name="poi_depot">Депо</string>
<string name="poi_letter_box">Поштова скринька</string>
<string name="poi_post_street">Вулиця</string>
<string name="poi_post_housenumber">Номер будинку</string>
<string name="poi_post_flats">Квартира</string>
<string name="poi_payment_centre">Платіжний центр</string>
<string name="poi_money_transfer">Грошові перекази</string>
</resources>

View file

@ -3067,7 +3067,7 @@
<string name="import_as_gpx">Імпортувати як GPX-файл</string>
<string name="import_as_favorites">Імпортувати як закладки</string>
<string name="import_file">Імпортувати файл</string>
<string name="tap_on_map_to_hide_interface_descr">Дотик на мапі перемикає кнопки управління і віджети.</string>
<string name="tap_on_map_to_hide_interface_descr">Дотик на мапі приховує кнопки управління і віджети.</string>
<string name="tap_on_map_to_hide_interface">Повноекранний режим</string>
<string name="show_on_top_bar">Показати на верхній панелі</string>
<string name="mark_passed">Позначати пройдене</string>

View file

@ -2969,7 +2969,7 @@ OsmAnd (Automated Navigation Directions) 是一個地圖和導航的應用程式
<string name="by_type">按照類型</string>
<string name="one_tap_active_descr">輕點在地圖上的標記,將其移動到活動標記的頂端,而不用打開內容選單。</string>
<string name="modify_the_search_query">變更搜尋的查詢。</string>
<string name="release_3_0">\\022 停止標誌的檢測現在考量駕駛的方向
<string name="release_3_0">\\022 停止標誌的檢測現在考量駕駛的方向
\n
\n• 為 GPX 軌跡提供有意義的上坡/下坡值的新運算法則
\n

View file

@ -1,10 +1,13 @@
package net.osmand.plus;
import android.content.Context;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v7.app.AlertDialog;
import net.osmand.PlatformUtil;
import net.osmand.data.FavouritePoint;
import net.osmand.data.LatLon;
import net.osmand.plus.GPXUtilities.GPXFile;
import net.osmand.plus.GPXUtilities.WptPt;
import net.osmand.plus.MapMarkersHelper.MarkersSyncGroup;
@ -451,6 +454,16 @@ public class FavouritesDbHelper {
return fp;
}
@Nullable
public FavouritePoint getVisibleFavByLatLon(@NonNull LatLon latLon) {
for (FavouritePoint fav : cachedFavoritePoints) {
if (fav.isVisible() && latLon.equals(new LatLon(fav.getLatitude(), fav.getLongitude()))) {
return fav;
}
}
return null;
}
public List<FavoriteGroup> getFavoriteGroups() {
return favoriteGroups;

View file

@ -3,10 +3,12 @@ package net.osmand.plus;
import android.graphics.Bitmap;
import android.graphics.Matrix;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.content.ContextCompat;
import net.osmand.AndroidUtils;
import net.osmand.IProgress;
import net.osmand.data.LatLon;
import net.osmand.plus.GPXDatabase.GpxDataItem;
import net.osmand.plus.GPXUtilities.GPXFile;
import net.osmand.plus.GPXUtilities.GPXTrackAnalysis;
@ -389,6 +391,21 @@ public class GpxSelectionHelper {
return null;
}
@Nullable
public WptPt getVisibleWayPointByLatLon(@NonNull LatLon latLon) {
for (SelectedGpxFile selectedGpx : selectedGPXFiles) {
GPXFile gpx;
if (selectedGpx != null && (gpx = selectedGpx.getGpxFile()) != null) {
for (WptPt pt : gpx.getPoints()) {
if (latLon.equals(new LatLon(pt.getLatitude(), pt.getLongitude()))) {
return pt;
}
}
}
}
return null;
}
public void setGpxFileToDisplay(GPXFile... gpxs) {
// special case for gpx current route
for (GPXFile gpx : gpxs) {

View file

@ -76,6 +76,7 @@ public class MapMarkersHelper {
public String groupName;
public WptPt wptPt;
public FavouritePoint favouritePoint;
public String mapObjectName;
public MapMarker(LatLon point, PointDescription name, int colorIndex,
boolean selected, int index) {
@ -597,6 +598,26 @@ public class MapMarkersHelper {
return null;
}
@Nullable
public MapMarker getMapMarker(@NonNull LatLon latLon) {
for (MapMarker marker : mapMarkers) {
if (marker.point != null && marker.point.equals(latLon)) {
return marker;
}
}
return null;
}
@Nullable
public MapMarker getMapMarker(@NonNull String mapObjectName) {
for (MapMarker marker : mapMarkers) {
if (marker.mapObjectName != null && marker.mapObjectName.equals(mapObjectName)) {
return marker;
}
}
return null;
}
private void addNewMarkerIfNeeded(@NonNull MarkersSyncGroup group,
@NonNull List<MapMarker> markers,
@NonNull LatLon latLon,
@ -628,7 +649,7 @@ public class MapMarkersHelper {
if (!exists) {
addMarkers(Collections.singletonList(latLon),
Collections.singletonList(new PointDescription(POINT_TYPE_MAP_MARKER, name)),
group, enabled, Collections.singletonList(favouritePoint), Collections.singletonList(wptPt));
group, enabled, Collections.singletonList(favouritePoint), Collections.singletonList(wptPt), null);
}
}
@ -936,16 +957,21 @@ public class MapMarkersHelper {
addMarkers(Collections.singletonList(point), Collections.singletonList(historyName), null, true);
}
public void addMapMarker(@NonNull LatLon point, @Nullable PointDescription historyName, @Nullable String mapObjectName) {
addMarkers(Collections.singletonList(point), Collections.singletonList(historyName), null,
true, null, null, Collections.singletonList(mapObjectName));
}
public void addMapMarkers(@NonNull List<LatLon> points, @NonNull List<PointDescription> historyNames, @Nullable MarkersSyncGroup group) {
addMarkers(points, historyNames, group, true);
}
private void addMarkers(@NonNull List<LatLon> points, @NonNull List<PointDescription> historyNames, @Nullable MarkersSyncGroup group, boolean enabled) {
addMarkers(points, historyNames, group, enabled, null, null);
addMarkers(points, historyNames, group, enabled, null, null, null);
}
private void addMarkers(@NonNull List<LatLon> points, @NonNull List<PointDescription> historyNames, @Nullable MarkersSyncGroup group,
boolean enabled, @Nullable List<FavouritePoint> favouritePoints, @Nullable List<WptPt> wptPts) {
boolean enabled, @Nullable List<FavouritePoint> favouritePoints, @Nullable List<WptPt> wptPts, @Nullable List<String> mapObjNames) {
if (points.size() > 0) {
int colorIndex = -1;
List<MapMarker> addedMarkers = new ArrayList<>();
@ -954,6 +980,7 @@ public class MapMarkersHelper {
PointDescription historyName = historyNames.get(i);
FavouritePoint favouritePoint = favouritePoints == null ? null : favouritePoints.get(i);
WptPt wptPt = wptPts == null ? null : wptPts.get(i);
String mapObjName = mapObjNames == null ? null : mapObjNames.get(i);
final PointDescription pointDescription;
if (historyName == null) {
pointDescription = new PointDescription(PointDescription.POINT_TYPE_LOCATION, "");
@ -986,6 +1013,7 @@ public class MapMarkersHelper {
marker.nextKey = MapMarkersDbHelper.TAIL_NEXT_VALUE;
marker.favouritePoint = favouritePoint;
marker.wptPt = wptPt;
marker.mapObjectName = mapObjName;
markersDbHelper.addMarker(marker);
if (enabled) {
addToMapMarkersList(0, marker);

View file

@ -6,6 +6,7 @@ import android.content.DialogInterface;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.content.ContextCompat;
import android.support.v7.app.AlertDialog;
import android.view.View;
@ -104,9 +105,9 @@ public class MapActivityActions implements DialogProvider {
}
public void addMapMarker(double latitude, double longitude, PointDescription pd) {
public void addMapMarker(double latitude, double longitude, PointDescription pd, @Nullable String mapObjectName) {
MapMarkersHelper markersHelper = getMyApplication().getMapMarkersHelper();
markersHelper.addMapMarker(new LatLon(latitude, longitude), pd);
markersHelper.addMapMarker(new LatLon(latitude, longitude), pd, mapObjectName);
}
public void editWaypoints() {

View file

@ -789,7 +789,7 @@ public class MapContextMenu extends MenuTitleController implements StateChangedL
MapMarkersDialogFragment.showInstance(mapActivity);
} else {
mapActivity.getMapActions().addMapMarker(latLon.getLatitude(), latLon.getLongitude(),
getPointDescriptionForMarker());
getPointDescriptionForMarker(), object instanceof Amenity ? ((Amenity) object).getName() : null);
}
} else {
mapActivity.getMapActions().addAsTarget(latLon.getLatitude(), latLon.getLongitude(),

View file

@ -11,6 +11,7 @@ import net.osmand.data.TransportStop;
import net.osmand.osm.PoiCategory;
import net.osmand.osm.PoiFilter;
import net.osmand.osm.PoiType;
import net.osmand.plus.MapMarkersHelper.MapMarker;
import net.osmand.plus.R;
import net.osmand.plus.activities.MapActivity;
import net.osmand.plus.mapcontextmenu.MapContextMenu;
@ -35,6 +36,8 @@ public class AmenityMenuController extends MenuController {
private Amenity amenity;
private List<TransportStopRoute> routes = new ArrayList<>();
private MapMarker marker;
public AmenityMenuController(MapActivity mapActivity, PointDescription pointDescription, Amenity amenity) {
super(new AmenityMenuBuilder(mapActivity, amenity), pointDescription, mapActivity);
this.amenity = amenity;
@ -53,6 +56,14 @@ public class AmenityMenuController extends MenuController {
processTransportStop();
}
}
marker = mapActivity.getMyApplication().getMapMarkersHelper().getMapMarker(amenity.getName());
if (marker != null) {
MapMarkerMenuController markerMenuController =
new MapMarkerMenuController(mapActivity, marker.getPointDescription(mapActivity), marker);
leftTitleButtonController = markerMenuController.getLeftTitleButtonController();
leftSubtitleButtonController = markerMenuController.getLeftSubtitleButtonController();
}
}
@Override
@ -67,6 +78,11 @@ public class AmenityMenuController extends MenuController {
return amenity;
}
@Override
public boolean isWaypointButtonEnabled() {
return marker == null;
}
@Override
public boolean needStreetName() {
if (amenity.getSubType() != null && amenity.getType() != null) {

View file

@ -22,13 +22,17 @@ import net.osmand.util.Algorithms;
public class FavouritePointMenuController extends MenuController {
private FavouritePoint fav;
private MapMarker mapMarker;
public FavouritePointMenuController(MapActivity mapActivity, PointDescription pointDescription, final FavouritePoint fav) {
super(new FavouritePointMenuBuilder(mapActivity, fav), pointDescription, mapActivity);
this.fav = fav;
final MapMarkersHelper markersHelper = mapActivity.getMyApplication().getMapMarkersHelper();
final MapMarker mapMarker = markersHelper.getMapMarker(fav);
mapMarker = markersHelper.getMapMarker(fav);
if (mapMarker == null) {
mapMarker = markersHelper.getMapMarker(new LatLon(fav.getLatitude(), fav.getLongitude()));
}
if (mapMarker != null) {
MapMarkerMenuController markerMenuController =
new MapMarkerMenuController(mapActivity, mapMarker.getPointDescription(mapActivity), mapMarker);
@ -81,7 +85,7 @@ public class FavouritePointMenuController extends MenuController {
@Override
public boolean isWaypointButtonEnabled() {
return getMapActivity().getMyApplication().getMapMarkersHelper().getMapMarker(fav) == null;
return mapMarker == null;
}
@Override

View file

@ -3,6 +3,7 @@ package net.osmand.plus.mapcontextmenu.controllers;
import android.graphics.drawable.Drawable;
import android.support.v4.content.ContextCompat;
import net.osmand.data.LatLon;
import net.osmand.data.PointDescription;
import net.osmand.plus.GPXUtilities.WptPt;
import net.osmand.plus.MapMarkersHelper;
@ -17,14 +18,17 @@ import net.osmand.util.Algorithms;
public class WptPtMenuController extends MenuController {
private WptPt wpt;
private MapMarker mapMarker;
public WptPtMenuController(MapActivity mapActivity, PointDescription pointDescription, WptPt wpt) {
super(new WptPtMenuBuilder(mapActivity, wpt), pointDescription, mapActivity);
this.wpt = wpt;
final MapMarkersHelper markersHelper = mapActivity.getMyApplication().getMapMarkersHelper();
final MapMarker mapMarker = markersHelper.getMapMarker(wpt);
mapMarker = markersHelper.getMapMarker(wpt);
if (mapMarker == null) {
mapMarker = markersHelper.getMapMarker(new LatLon(wpt.lat, wpt.lon));
}
if (mapMarker != null) {
MapMarkerMenuController markerMenuController =
new MapMarkerMenuController(mapActivity, mapMarker.getPointDescription(mapActivity), mapMarker);
@ -84,7 +88,7 @@ public class WptPtMenuController extends MenuController {
@Override
public boolean isWaypointButtonEnabled() {
return getMapActivity().getMyApplication().getMapMarkersHelper().getMapMarker(wpt) == null;
return mapMarker == null;
}
@Override

View file

@ -13,6 +13,7 @@ import android.view.ViewGroup;
import android.widget.ImageView;
import net.osmand.Location;
import net.osmand.data.Amenity;
import net.osmand.data.FavouritePoint;
import net.osmand.data.LatLon;
import net.osmand.data.PointDescription;
@ -62,31 +63,43 @@ public class MapMarkersActiveFragment extends Fragment implements OsmAndCompassL
if (pos == RecyclerView.NO_POSITION) {
return;
}
MapMarker marker = adapter.getItem(pos);
if (mapActivity.getMyApplication().getSettings().SELECT_MARKER_ON_SINGLE_TAP.get()) {
mapActivity.getMyApplication().getMapMarkersHelper().moveMarkerToTop(marker);
OsmandApplication app = mapActivity.getMyApplication();
if (app.getSettings().SELECT_MARKER_ON_SINGLE_TAP.get()) {
app.getMapMarkersHelper().moveMarkerToTop(marker);
updateAdapter();
} else {
WptPt wptPt = marker.wptPt;
FavouritePoint favouritePoint = marker.favouritePoint;
Object objectToShow;
PointDescription pointDescription;
if (wptPt != null) {
pointDescription = new PointDescription(PointDescription.POINT_TYPE_WPT, wptPt.name);
objectToShow = wptPt;
} else if (favouritePoint != null) {
pointDescription = new PointDescription(PointDescription.POINT_TYPE_FAVORITE, favouritePoint.getName());
objectToShow = favouritePoint;
} else {
pointDescription = marker.getPointDescription(mapActivity);
objectToShow = marker;
FavouritePoint fav = marker.favouritePoint == null
? app.getFavorites().getVisibleFavByLatLon(marker.point)
: marker.favouritePoint;
if (fav != null) {
showMap(marker.point, fav.getPointDescription(), fav);
return;
}
mapActivity.getMyApplication().getSettings().setMapLocationToShow(marker.getLatitude(), marker.getLongitude(),
15, pointDescription, true, objectToShow);
WptPt pt = marker.wptPt == null
? app.getSelectedGpxHelper().getVisibleWayPointByLatLon(marker.point)
: marker.wptPt;
if (pt != null) {
showMap(marker.point, pt.getPointDescription(mapActivity), pt);
return;
}
Amenity mapObj = mapActivity.getMapLayers().getMapMarkersLayer().getMapObjectByMarker(marker);
PointDescription desc = mapObj == null
? marker.getPointDescription(mapActivity)
: mapActivity.getMapLayers().getPoiMapLayer().getObjectName(mapObj);
showMap(marker.point, desc, mapObj == null ? marker : mapObj);
}
}
private void showMap(LatLon latLon, PointDescription desc, Object objToShow) {
mapActivity.getMyApplication().getSettings().setMapLocationToShow(latLon.getLatitude(),
latLon.getLongitude(), 15, desc, true, objToShow);
MapActivity.launchMapActivityMoveToTop(mapActivity);
((DialogFragment) getParentFragment()).dismiss();
}
}
@Override
public void onDragStarted(RecyclerView.ViewHolder holder) {

View file

@ -25,7 +25,7 @@ import java.util.Set;
public class MapMarkersDbHelper {
private static final int DB_VERSION = 11;
private static final int DB_VERSION = 12;
public static final String DB_NAME = "map_markers_db";
private static final String MARKERS_TABLE_NAME = "map_markers";
@ -42,6 +42,7 @@ public class MapMarkersDbHelper {
private static final String MARKERS_COL_NEXT_KEY = "marker_next_key";
private static final String MARKERS_COL_DISABLED = "marker_disabled";
private static final String MARKERS_COL_SELECTED = "marker_selected";
private static final String MARKERS_COL_MAP_OBJECT_NAME = "marker_map_object_name";
private static final String MARKERS_TABLE_CREATE = "CREATE TABLE IF NOT EXISTS " +
MARKERS_TABLE_NAME + " (" +
@ -57,7 +58,8 @@ public class MapMarkersDbHelper {
MARKERS_COL_COLOR + " int, " +
MARKERS_COL_NEXT_KEY + " TEXT, " +
MARKERS_COL_DISABLED + " int, " + // 1 = true, 0 = false
MARKERS_COL_SELECTED + " int);"; // 1 = true, 0 = false
MARKERS_COL_SELECTED + " int, " + // 1 = true, 0 = false
MARKERS_COL_MAP_OBJECT_NAME + " TEXT);";
private static final String MARKERS_TABLE_SELECT = "SELECT " +
MARKERS_COL_ID + ", " +
@ -72,7 +74,8 @@ public class MapMarkersDbHelper {
MARKERS_COL_COLOR + ", " +
MARKERS_COL_NEXT_KEY + ", " +
MARKERS_COL_DISABLED + ", " +
MARKERS_COL_SELECTED +
MARKERS_COL_SELECTED + ", " +
MARKERS_COL_MAP_OBJECT_NAME +
" FROM " + MARKERS_TABLE_NAME;
private static final String GROUPS_TABLE_NAME = "map_markers_groups";
@ -150,6 +153,9 @@ public class MapMarkersDbHelper {
" SET " + MARKERS_COL_SELECTED + " = ? " +
"WHERE " + MARKERS_COL_SELECTED + " IS NULL", new Object[]{0});
}
if (oldVersion < 12) {
db.execSQL("ALTER TABLE " + MARKERS_TABLE_NAME + " ADD " + MARKERS_COL_MAP_OBJECT_NAME + " TEXT");
}
}
private void saveExistingMarkersToDb() {
@ -378,11 +384,12 @@ public class MapMarkersDbHelper {
MARKERS_COL_COLOR + ", " +
MARKERS_COL_NEXT_KEY + ", " +
MARKERS_COL_DISABLED + ", " +
MARKERS_COL_SELECTED + ") " +
"VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",
MARKERS_COL_SELECTED + ", " +
MARKERS_COL_MAP_OBJECT_NAME + ") " +
"VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",
new Object[]{marker.id, marker.getLatitude(), marker.getLongitude(), descr, active,
currentTime, visited, marker.groupName, marker.groupKey, marker.colorIndex,
marker.history ? HISTORY_NEXT_VALUE : TAIL_NEXT_VALUE, 0, 0});
marker.history ? HISTORY_NEXT_VALUE : TAIL_NEXT_VALUE, 0, 0, marker.mapObjectName});
}
public List<MapMarker> getMarkersFromGroup(MarkersSyncGroup group) {
@ -459,6 +466,7 @@ public class MapMarkersDbHelper {
int colorIndex = query.getInt(9);
String nextKey = query.getString(10);
boolean selected = query.getInt(12) == 1;
String mapObjectName = query.getString(13);
LatLon latLon = new LatLon(lat, lon);
MapMarker marker = new MapMarker(latLon, PointDescription.deserializeFromString(desc, latLon),
@ -471,6 +479,7 @@ public class MapMarkersDbHelper {
marker.groupKey = groupKey;
marker.nextKey = nextKey;
marker.selected = selected;
marker.mapObjectName = mapObjectName;
return marker;
}

View file

@ -23,6 +23,7 @@ import android.widget.ImageView;
import android.widget.TextView;
import net.osmand.Location;
import net.osmand.data.Amenity;
import net.osmand.data.FavouritePoint;
import net.osmand.data.LatLon;
import net.osmand.data.PointDescription;
@ -35,9 +36,9 @@ import net.osmand.plus.R;
import net.osmand.plus.activities.MapActivity;
import net.osmand.plus.base.MapViewTrackingUtilities;
import net.osmand.plus.dashboard.DashLocationFragment;
import net.osmand.plus.mapmarkers.SelectionMarkersGroupBottomSheetDialogFragment.AddMarkersGroupFragmentListener;
import net.osmand.plus.mapmarkers.adapters.MapMarkerItemViewHolder;
import net.osmand.plus.mapmarkers.adapters.MapMarkersGroupsAdapter;
import net.osmand.plus.mapmarkers.SelectionMarkersGroupBottomSheetDialogFragment.AddMarkersGroupFragmentListener;
import net.osmand.plus.widgets.EmptyStateRecyclerView;
import net.osmand.util.MapUtils;
@ -230,31 +231,48 @@ public class MapMarkersGroupsFragment extends Fragment implements OsmAndCompassL
Object item = adapter.getItem(pos);
if (item instanceof MapMarker) {
MapMarker marker = (MapMarker) item;
OsmandApplication app = mapActivity.getMyApplication();
if (!marker.history) {
if (mapActivity.getMyApplication().getSettings().SELECT_MARKER_ON_SINGLE_TAP.get()) {
mapActivity.getMyApplication().getMapMarkersHelper().moveMarkerToTop(marker);
if (app.getSettings().SELECT_MARKER_ON_SINGLE_TAP.get()) {
app.getMapMarkersHelper().moveMarkerToTop(marker);
updateAdapter();
} else {
WptPt wptPt = marker.wptPt;
FavouritePoint favouritePoint = marker.favouritePoint;
Object objectToShow;
PointDescription pointDescription;
if (wptPt != null) {
pointDescription = new PointDescription(PointDescription.POINT_TYPE_WPT, wptPt.name);
objectToShow = wptPt;
} else if (favouritePoint != null) {
pointDescription = new PointDescription(PointDescription.POINT_TYPE_FAVORITE, favouritePoint.getName());
objectToShow = favouritePoint;
} else {
pointDescription = marker.getPointDescription(mapActivity);
objectToShow = marker;
FavouritePoint fav = marker.favouritePoint == null
? app.getFavorites().getVisibleFavByLatLon(marker.point)
: marker.favouritePoint;
if (fav != null) {
showMap(marker.point, fav.getPointDescription(), fav);
return;
}
mapActivity.getMyApplication().getSettings().setMapLocationToShow(marker.getLatitude(), marker.getLongitude(),
15, pointDescription, true, objectToShow);
WptPt pt = marker.wptPt == null
? app.getSelectedGpxHelper().getVisibleWayPointByLatLon(marker.point)
: marker.wptPt;
if (pt != null) {
showMap(marker.point, pt.getPointDescription(mapActivity), pt);
return;
}
Amenity mapObj = mapActivity.getMapLayers().getMapMarkersLayer().getMapObjectByMarker(marker);
PointDescription desc = mapObj == null
? marker.getPointDescription(mapActivity)
: mapActivity.getMapLayers().getPoiMapLayer().getObjectName(mapObj);
showMap(marker.point, desc, mapObj == null ? marker : mapObj);
}
} else {
showHistoryMenuFragment(pos, marker);
}
}
}
private void showMap(LatLon latLon, PointDescription desc, Object objToShow) {
mapActivity.getMyApplication().getSettings().setMapLocationToShow(latLon.getLatitude(),
latLon.getLongitude(), 15, desc, true, objToShow);
MapActivity.launchMapActivityMoveToTop(mapActivity);
((DialogFragment) getParentFragment()).dismiss();
}
} else {
private void showHistoryMenuFragment(int pos, MapMarker marker) {
HistoryMarkerMenuBottomSheetDialogFragment fragment = new HistoryMarkerMenuBottomSheetDialogFragment();
fragment.setUsedOnMap(false);
Bundle arguments = new Bundle();
@ -266,8 +284,6 @@ public class MapMarkersGroupsFragment extends Fragment implements OsmAndCompassL
fragment.setListener(createHistoryMarkerMenuListener());
fragment.show(getChildFragmentManager(), HistoryMarkerMenuBottomSheetDialogFragment.TAG);
}
}
}
});
adapter.registerAdapterDataObserver(new RecyclerView.AdapterDataObserver() {
@Override

View file

@ -40,7 +40,8 @@ public class MarkerAction extends QuickAction {
activity.getMapActions().addMapMarker(
latLon.getLatitude(),
latLon.getLongitude(),
pointDescription);
pointDescription,
null);
}
@Override

View file

@ -728,6 +728,8 @@ public class RouteProvider {
p = GeneralRouterProfile.PEDESTRIAN;
} else if(params.mode.isDerivedRoutingFrom(ApplicationMode.CAR)){
p = GeneralRouterProfile.CAR;
} else if (params.mode.isDerivedRoutingFrom(ApplicationMode.BOAT)) {
p = GeneralRouterProfile.BOAT;
} else {
return null;
}

View file

@ -24,13 +24,10 @@ import net.osmand.AndroidUtils;
import net.osmand.CallbackWithObject;
import net.osmand.NativeLibrary.RenderedObject;
import net.osmand.RenderingContext;
import net.osmand.binary.BinaryMapIndexReader;
import net.osmand.data.Amenity;
import net.osmand.data.LatLon;
import net.osmand.data.PointDescription;
import net.osmand.data.QuadRect;
import net.osmand.data.RotatedTileBox;
import net.osmand.osm.PoiCategory;
import net.osmand.osm.PoiFilter;
import net.osmand.osm.PoiType;
import net.osmand.plus.ContextMenuAdapter;
@ -627,7 +624,7 @@ public class ContextMenuLayer extends OsmandMapLayer {
if (searchLatLon == null) {
searchLatLon = tileBox.getLatLonFromPixel(point.x, point.y);
}
Amenity amenity = findAmenity(renderedObject.getId() >> 7, names, searchLatLon);
Amenity amenity = findAmenity(activity.getMyApplication(), renderedObject.getId() >> 7, names, searchLatLon);
if (amenity != null) {
if (renderedObject.getX() != null && renderedObject.getX().size() > 1
&& renderedObject.getY() != null && renderedObject.getY().size() > 1) {
@ -824,46 +821,6 @@ public class ContextMenuLayer extends OsmandMapLayer {
return false;
}
private Amenity findAmenity(long id, List<String> names, LatLon latLon) {
QuadRect rect = MapUtils.calculateLatLonBbox(latLon.getLatitude(), latLon.getLongitude(), 50);
List<Amenity> amenities = activity.getMyApplication().getResourceManager().searchAmenities(
new BinaryMapIndexReader.SearchPoiTypeFilter() {
@Override
public boolean accept(PoiCategory type, String subcategory) {
return true;
}
@Override
public boolean isEmpty() {
return false;
}
}, rect.top, rect.left, rect.bottom, rect.right, -1, null);
Amenity res = null;
for (Amenity amenity : amenities) {
Long amenityId = amenity.getId() >> 1;
if (amenityId == id) {
res = amenity;
break;
}
}
if (res == null && names != null && names.size() > 0) {
for (Amenity amenity : amenities) {
for (String name : names) {
if (name.equals(amenity.getName())) {
res = amenity;
break;
}
}
if (res != null) {
break;
}
}
}
return res;
}
private boolean hideVisibleMenues() {
if (multiSelectionMenu.isVisible()) {
multiSelectionMenu.hide();

View file

@ -21,6 +21,7 @@ import android.view.MotionEvent;
import android.view.View;
import net.osmand.Location;
import net.osmand.data.Amenity;
import net.osmand.data.LatLon;
import net.osmand.data.PointDescription;
import net.osmand.data.QuadPoint;
@ -43,6 +44,7 @@ import net.osmand.plus.views.mapwidgets.MapMarkersWidgetsFactory;
import net.osmand.util.MapUtils;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import gnu.trove.list.array.TIntArrayList;
@ -518,19 +520,46 @@ public class MapMarkersLayer extends OsmandMapLayer implements IContextMenuProvi
OsmandApplication app = map.getMyApplication();
int r = getRadiusPoi(tileBox);
boolean selectMarkerOnSingleTap = app.getSettings().SELECT_MARKER_ON_SINGLE_TAP.get();
for (MapMarker marker : app.getMapMarkersHelper().getMapMarkers()) {
if ((!unknownLocation && app.getSettings().SELECT_MARKER_ON_SINGLE_TAP.get()) || !isSynced(marker)) {
if ((!unknownLocation && selectMarkerOnSingleTap) || !isSynced(marker)) {
LatLon latLon = marker.point;
if (latLon != null) {
int x = (int) tileBox.getPixXFromLatLon(latLon.getLatitude(), latLon.getLongitude());
int y = (int) tileBox.getPixYFromLatLon(latLon.getLatitude(), latLon.getLongitude());
if (calculateBelongs((int) point.x, (int) point.y, x, y, r)) {
if (!unknownLocation && selectMarkerOnSingleTap) {
o.add(marker);
} else {
if (isMarkerOnFavorite(marker) || isMarkerOnWaypoint(marker)) {
continue;
}
Amenity mapObj = getMapObjectByMarker(marker);
o.add(mapObj == null ? marker : mapObj);
}
}
}
}
}
}
private boolean isMarkerOnWaypoint(@NonNull MapMarker marker) {
return marker.point != null && map.getMyApplication().getSelectedGpxHelper().getVisibleWayPointByLatLon(marker.point) != null;
}
private boolean isMarkerOnFavorite(@NonNull MapMarker marker) {
return marker.point != null && map.getMyApplication().getFavorites().getVisibleFavByLatLon(marker.point) != null;
}
@Nullable
public Amenity getMapObjectByMarker(@NonNull MapMarker marker) {
if (marker.mapObjectName != null && marker.point != null) {
return findAmenity(map.getMyApplication(), -1, Collections.singletonList(marker.mapObjectName), marker.point);
}
return null;
}
private boolean calculateBelongs(int ex, int ey, int objx, int objy, int radius) {
return Math.abs(objx - ex) <= radius && (ey - objy) <= radius && (objy - ey) <= 2.5 * radius;

View file

@ -12,14 +12,16 @@ import android.graphics.PointF;
import android.graphics.PorterDuff.Mode;
import android.graphics.PorterDuffColorFilter;
import android.os.AsyncTask;
import android.os.Build;
import android.support.annotation.NonNull;
import android.view.MotionEvent;
import net.osmand.binary.BinaryMapIndexReader;
import net.osmand.data.Amenity;
import net.osmand.data.LatLon;
import net.osmand.data.QuadRect;
import net.osmand.data.QuadTree;
import net.osmand.data.RotatedTileBox;
import net.osmand.osm.PoiCategory;
import net.osmand.plus.ContextMenuAdapter;
import net.osmand.plus.OsmandApplication;
import net.osmand.plus.activities.MapActivity;
@ -28,6 +30,7 @@ import net.osmand.plus.render.OsmandRenderer.RenderingContext;
import net.osmand.render.RenderingRuleSearchRequest;
import net.osmand.render.RenderingRulesStorage;
import net.osmand.util.MapAlgorithms;
import net.osmand.util.MapUtils;
import java.util.ArrayList;
import java.util.Arrays;
@ -218,6 +221,46 @@ public abstract class OsmandMapLayer {
return rf;
}
public Amenity findAmenity(OsmandApplication app, long id, List<String> names, LatLon latLon) {
QuadRect rect = MapUtils.calculateLatLonBbox(latLon.getLatitude(), latLon.getLongitude(), 50);
List<Amenity> amenities = app.getResourceManager().searchAmenities(
new BinaryMapIndexReader.SearchPoiTypeFilter() {
@Override
public boolean accept(PoiCategory type, String subcategory) {
return true;
}
@Override
public boolean isEmpty() {
return false;
}
}, rect.top, rect.left, rect.bottom, rect.right, -1, null);
Amenity res = null;
for (Amenity amenity : amenities) {
Long amenityId = amenity.getId() >> 1;
if (amenityId == id) {
res = amenity;
break;
}
}
if (res == null && names != null && names.size() > 0) {
for (Amenity amenity : amenities) {
for (String name : names) {
if (name.equals(amenity.getName())) {
res = amenity;
break;
}
}
if (res != null) {
break;
}
}
}
return res;
}
public abstract class MapLayerData<T> {
public int ZOOM_THRESHOLD = 1;
public RotatedTileBox queriedBox;