Merge branch 'master' of github.com:osmandapp/Osmand
This commit is contained in:
commit
484b77f51a
42 changed files with 521 additions and 232 deletions
|
@ -33,55 +33,50 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:baselineAligned="false"
|
||||
android:layout_marginBottom="16dp"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/context_menu_icon_layout"
|
||||
android:layout_width="42dp"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="horizontal">
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/context_menu_icon_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="12dp"
|
||||
android:layout_width="@dimen/standard_icon_size"
|
||||
android:layout_height="@dimen/standard_icon_size"
|
||||
android:layout_marginLeft="16dp"
|
||||
android:layout_marginStart="12dp"
|
||||
android:layout_marginTop="18dp"
|
||||
android:scaleType="center"
|
||||
android:src="@drawable/ic_action_building_number"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="12dp"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="16dp"
|
||||
android:layout_marginTop="15dp"
|
||||
android:layout_weight="1"
|
||||
android:orientation="vertical">
|
||||
android:layout_weight="1">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/context_menu_line1"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="12dp"
|
||||
android:layout_marginRight="12dp"
|
||||
android:text="@string/search_address_building"
|
||||
android:textColor="?android:textColorPrimary"
|
||||
android:textSize="@dimen/default_list_text_size_large"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/context_menu_line2"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="12dp"
|
||||
android:layout_marginRight="12dp"
|
||||
android:layout_marginTop="4dp"
|
||||
android:text="@string/other_location"
|
||||
android:textColor="?android:textColorSecondary"
|
||||
android:textSize="@dimen/default_desc_text_size"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
|
@ -107,6 +102,44 @@
|
|||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="12dp"
|
||||
android:layout_marginTop="4dp">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/direction"
|
||||
android:layout_width="@dimen/dashFavDirectionSize"
|
||||
android:layout_height="@dimen/dashFavDirectionSize"
|
||||
android:layout_gravity="center_vertical" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/distance"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="2dp"
|
||||
android:layout_marginRight="4dp"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:textColor="?android:textColorSecondary"
|
||||
android:textSize="@dimen/default_desc_text_size"
|
||||
tools:text="100500 km" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/context_menu_line2"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:text="@string/other_location"
|
||||
android:textColor="?android:textColorSecondary"
|
||||
android:textSize="@dimen/default_desc_text_size"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/title_button_container"
|
||||
android:layout_width="fill_parent"
|
||||
|
@ -116,7 +149,9 @@
|
|||
android:layout_marginTop="-16dp"
|
||||
android:paddingBottom="4dp"
|
||||
android:clickable="true"
|
||||
android:orientation="horizontal">
|
||||
android:orientation="horizontal"
|
||||
tools:visibility="visible"
|
||||
android:visibility="gone">
|
||||
|
||||
<Button
|
||||
android:id="@+id/title_button"
|
||||
|
@ -133,7 +168,7 @@
|
|||
<TextView
|
||||
android:id="@+id/title_button_right_text"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center_vertical"
|
||||
android:clickable="true"
|
||||
android:layout_marginLeft="-4dp"
|
||||
|
|
|
@ -15,12 +15,11 @@
|
|||
|
||||
<ImageView
|
||||
android:id="@+id/context_menu_icon_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="12dp"
|
||||
android:layout_width="@dimen/standard_icon_size"
|
||||
android:layout_height="@dimen/standard_icon_size"
|
||||
android:layout_marginLeft="16dp"
|
||||
android:layout_marginStart="12dp"
|
||||
android:layout_marginTop="18dp"
|
||||
android:scaleType="center"
|
||||
android:src="@drawable/ic_action_building_number"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
|
|
@ -61,6 +61,7 @@
|
|||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="2dp"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:textColor="?android:textColorSecondary"
|
||||
android:textSize="@dimen/default_sub_text_size"
|
||||
tools:text="100500 km" />
|
||||
|
|
|
@ -1606,4 +1606,38 @@
|
|||
<string name="poi_payment_dkv_no">No s\'accepta DKV</string>
|
||||
<string name="poi_payment_uta_yes">S\'accepten targes UTA</string>
|
||||
<string name="poi_payment_uta_no">No s\'accepten targes UTA</string>
|
||||
<string name="poi_tourism_yes">Element turístic</string>
|
||||
<string name="poi_water_point">Proveïment d\'aigua</string>
|
||||
|
||||
<string name="poi_information_wildlife">Indicador informatiu: vida en llibertat</string>
|
||||
<string name="poi_information_sign">Signe</string>
|
||||
<string name="poi_piste_grooming_classic">Pista condicionada: clàssica</string>
|
||||
<string name="poi_piste_grooming_classic_skating">Pista condicionada: clàssica i patinatge</string>
|
||||
<string name="poi_piste_grooming_backcountry">Pista condicionada: fora de pistes</string>
|
||||
<string name="poi_piste_grooming_scooter">Pista condicionada: clàssica però estreta</string>
|
||||
<string name="poi_piste_grooming_skating">Pista condicionada: patinatge</string>
|
||||
<string name="poi_piste_grooming_no">Pista condicionada: no</string>
|
||||
<string name="poi_piste_grooming_mogul">Pista condicionada: esquí acrobàtic</string>
|
||||
|
||||
<string name="poi_payment_girocard_yes">S\'accepten targes Girocard</string>
|
||||
<string name="poi_payment_girocard_no">No s\'accepten targes Girocard</string>
|
||||
<string name="poi_payment_discover_card_yes">S\'accepten targes Discover</string>
|
||||
<string name="poi_payment_discover_card_no">No s\'accepten targes Discover</string>
|
||||
<string name="poi_payment_visa_electron_yes">S\'accepten targes Visa Electron</string>
|
||||
<string name="poi_payment_visa_electron_no">No s\'accepten targes Visa Electron</string>
|
||||
<string name="poi_payment_litecoin_yes">S\'accepta Litecoin</string>
|
||||
<string name="poi_payment_litecoin_no">No s\'accepta Litecoin</string>
|
||||
<string name="poi_payment_cheque_yes">S\'accepten xecs</string>
|
||||
<string name="poi_payment_cheque_no">No s\'accepten xecs</string>
|
||||
<string name="poi_payment_pikepass_yes">S\'accepta PIKEPASS</string>
|
||||
<string name="poi_payment_pikepass_no">No s\'accepta PIKEPASS</string>
|
||||
<string name="poi_payment_visa_debit_yes">S\'accepten targes Visa Debit</string>
|
||||
<string name="poi_payment_visa_debit_no">No s\'accepten targes Visa Debit</string>
|
||||
<string name="poi_payment_others_yes">S\'accepten altres sistemes de pagament</string>
|
||||
<string name="poi_payment_others_no">No s\'accepten altres sistemes de pagament</string>
|
||||
<string name="poi_payment_routex_yes">S\'accepten targes de carburant Routex</string>
|
||||
<string name="poi_payment_routex_no">No s\'accepten targes de carburant Routex</string>
|
||||
<string name="poi_payment_bancomat_yes">S\'accepten targes Bancomat</string>
|
||||
<string name="poi_payment_bancomat_no">No s\'accepten targes Bancomat</string>
|
||||
<string name="poi_payment_prepaid_ticket_yes">S\'accepten tiquets de prepagament</string>
|
||||
</resources>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
||||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<resources>
|
||||
|
||||
<string name="show_warnings_title">Mostra els missatges d\'avís…</string>
|
||||
|
@ -1803,7 +1803,7 @@ Per retornar a l\'estil habitual dels mapes d\'OsmAnd, només cal desactivar aqu
|
|||
<string name="navigation_item_description">confifuració de la navegació</string>
|
||||
<string name="planning_trip_item">Planeja un viatge</string>
|
||||
<string name="faq_item">PMF</string>
|
||||
<string name="faq_item_description">Com utilitzar connectors</string>
|
||||
<string name="faq_item_description">Preguntes més freqüents</string>
|
||||
<string name="map_viewing_item">Visualització del mapa</string>
|
||||
<string name="search_on_the_map_item">Cerca al mapa</string>
|
||||
<string name="instalation_troubleshooting_item">Instal·lació i solució de problemes</string>
|
||||
|
@ -1815,4 +1815,6 @@ Per retornar a l\'estil habitual dels mapes d\'OsmAnd, només cal desactivar aqu
|
|||
<string name="shared_string_update">Actualitza</string>
|
||||
<string name="rendering_attr_hideProposed_name">Amaga proposta d\'objectes</string>
|
||||
|
||||
<string name="read_more">Llegiu-ne més</string>
|
||||
<string name="whats_new">Què hi ha de nou a</string>
|
||||
</resources>
|
|
@ -1313,7 +1313,7 @@
|
|||
<string name="poi_denomination_tibetan">Tibetský</string>
|
||||
<string name="poi_denomination_salvation_army">Armáda spásy</string>
|
||||
<string name="poi_denomination_quaker">Kvakerský</string>
|
||||
<string name="poi_denomination_bulgarian_orthodox">Buhlharský pravoslavný</string>
|
||||
<string name="poi_denomination_bulgarian_orthodox">Bulharský pravoslavný</string>
|
||||
<string name="poi_denomination_adventist">Adventistický</string>
|
||||
<string name="poi_denomination_nazarene">Nazaretánský</string>
|
||||
<string name="poi_denomination_serbian_orthodox">Srbský pravoslavný</string>
|
||||
|
|
|
@ -1737,8 +1737,8 @@
|
|||
<string name="si_kmh">Kilometry za hodinu</string>
|
||||
<string name="si_mph">Míle za hodinu</string>
|
||||
<string name="si_m_s">Metrů za sekundu</string>
|
||||
<string name="si_min_km">Minut za kilometr</string>
|
||||
<string name="si_min_m">Minut za míli</string>
|
||||
<string name="si_min_km">Minut na kilometr</string>
|
||||
<string name="si_min_m">Minut na míli</string>
|
||||
<string name="si_nm_h">Námořní míle za hodinu (uzly)</string>
|
||||
<string name="nm_h">nm/h</string>
|
||||
<string name="min_mile">min/m</string>
|
||||
|
@ -1759,7 +1759,7 @@
|
|||
<string name="regions">Regiony</string>
|
||||
<string name="region_maps">Mapy regionů</string>
|
||||
<string name="world_maps">Světové mapy</string>
|
||||
<string name="favorite_category_dublicate_message">Zadané jméno kategorie již existuje. Prosím určete jiný název.</string>
|
||||
<string name="favorite_category_dublicate_message">Zadaný název kategorie již existuje. Zvolte prosím jiný název.</string>
|
||||
<string name="favorite_category_name">Název kategorie</string>
|
||||
<string name="favorite_category_add_new_title">Přidat novou kategorii</string>
|
||||
<string name="activate_seamarks_plugin">Prosím aktivujte modul Námořní značky</string>
|
||||
|
@ -1778,9 +1778,9 @@
|
|||
<string name="shared_string_send">Odeslat</string>
|
||||
<string name="simulate_initial_startup_descr">Nastavit příznak označující první start aplikace, ostatní nastavení ponechat nezměněné</string>
|
||||
<string name="confirm_download_roadmaps">Opravdu chcete stáhnout silniční mapu, když už máte podrobnou mapu?</string>
|
||||
<string name="application_dir_description">Zvolte kam chcete uložit mapové soubory.</string>
|
||||
<string name="application_dir_description">Zvolte, kam chcete uložit mapové soubory.</string>
|
||||
<string name="show_on_start_description">\'Vypnuto\' spouští přímo mapovou obrazovku</string>
|
||||
<string name="world_map_download_descr">Základní mapa světa (pokrývající celý svět při malých detailech) chybí nebo je zastaralá. Prosím zvažte její stažení pro kompletní prostředí.</string>
|
||||
<string name="world_map_download_descr">Základní mapa světa (pokrývající celý svět při malých detailech) chybí nebo je zastaralá. Prosím zvažte její stažení, aby vaše prostředí bylo kompletní.</string>
|
||||
<string name="shared_string_qr_code">QR kód</string>
|
||||
<string name="map_downloaded">Mapa stažena</string>
|
||||
<string name="map_downloaded_descr">Mapa %1$s byla stažena. Pro její použití se vraťte zpět na mapu.</string>
|
||||
|
@ -1791,7 +1791,7 @@
|
|||
<string name="new_version">Nová verze</string>
|
||||
<string name="begin_with_osmand_menu_group">První kroky s OsmAnd</string>
|
||||
<string name="features_menu_group">Vlastnosti</string>
|
||||
<string name="help_us_to_improve_menu_group">Pomoz nám vylepšit OsmAnd</string>
|
||||
<string name="help_us_to_improve_menu_group">Pomozte nám vylepšit OsmAnd</string>
|
||||
<string name="other_menu_group">Další</string>
|
||||
<string name="plugins_menu_group">Moduly</string>
|
||||
<string name="first_usage_item">První použití</string>
|
||||
|
|
|
@ -2429,4 +2429,7 @@
|
|||
<string name="poi_boat_storage">Bådopbevaring</string>
|
||||
|
||||
|
||||
<string name="poi_conveying_yes">Flytning: ja</string>
|
||||
|
||||
|
||||
</resources>
|
||||
|
|
|
@ -1313,7 +1313,7 @@
|
|||
<string name="choose_audio_stream_descr">Elige el canal para reproducir indicaciones por voz (dependiente del sistema)</string>
|
||||
<string name="voice_stream_voice_call">Audio de llamada de voz</string>
|
||||
<string name="voice_stream_notification">Notificación auditiva</string>
|
||||
<string name="voice_stream_music">Audio de Media/música</string>
|
||||
<string name="voice_stream_music">Audio de multimedia</string>
|
||||
<string name="warning_tile_layer_not_downloadable">La aplicación no puede descargar la capa %1$s del mapa, intente reinstalando.</string>
|
||||
<string name="overlay_transparency_descr">Modifica la transparencia de la capa superpuesta</string>
|
||||
<string name="overlay_transparency">Transparencia de superposición</string>
|
||||
|
@ -1928,7 +1928,7 @@
|
|||
<string name="first_usage_item_description">Cómo descargar mapas, configurar ajustes básicos</string>
|
||||
<string name="navigation_item_description">Configuración de navegación</string>
|
||||
<string name="faq_item">Preguntas Frecuentes</string>
|
||||
<string name="faq_item_description">Cómo usar los complementos</string>
|
||||
<string name="faq_item_description">Preguntas Frecuentes</string>
|
||||
<string name="map_viewing_item">Vista del mapa</string>
|
||||
<string name="search_on_the_map_item">Busqueda en el mapa</string>
|
||||
<string name="planning_trip_item">Planificación de viaje</string>
|
||||
|
|
|
@ -179,7 +179,7 @@
|
|||
<string name="choose_audio_stream_descr">Elige el canal para reproducir los avisos de voz (dependiente del sistema)</string>
|
||||
<string name="voice_stream_voice_call">Audio de llamada de voz</string>
|
||||
<string name="voice_stream_notification">Notificación auditiva</string>
|
||||
<string name="voice_stream_music">Audio de Media/música</string>
|
||||
<string name="voice_stream_music">Audio de multimedia</string>
|
||||
<string name="warning_tile_layer_not_downloadable">La aplicación no puede descargar la capa %1$s del mapa, intente reinstalar.</string>
|
||||
<string name="overlay_transparency_descr">Modifica la transparencia de la capa superpuesta</string>
|
||||
<string name="overlay_transparency">Transparencia de superpuesto</string>
|
||||
|
@ -1764,7 +1764,7 @@
|
|||
<string name="gps_network_not_enabled">El servicio de ubicación no está activado. ¿Quiere activarlo?</string>
|
||||
<string name="disable_recording_once_app_killed">Evita el registro autónomo</string>
|
||||
<string name="disable_recording_once_app_killed_descrp">Se pausará el registro GPX cuando se cierre la aplicación (a través de aplicaciones recientes). (La indicación de fondo de OsmAnd desaparecerá de la barra de notificaciones de Android.)</string>
|
||||
<string name="light_theme">Luminoso</string>
|
||||
<string name="light_theme">Claro</string>
|
||||
<string name="dark_theme">Oscuro</string>
|
||||
<string name="lang_pms">Piamontés</string>
|
||||
<string name="lang_bn">Bengalí</string>
|
||||
|
@ -1940,7 +1940,7 @@
|
|||
<string name="first_usage_item_description">Cómo descargar mapas, configurar ajustes básicos</string>
|
||||
<string name="navigation_item_description">Configuración de navegación</string>
|
||||
<string name="faq_item">Preguntas Frecuentes</string>
|
||||
<string name="faq_item_description">Cómo usar los complementos</string>
|
||||
<string name="faq_item_description">Preguntas Frecuentes</string>
|
||||
<string name="map_viewing_item">Vista del mapa</string>
|
||||
<string name="search_on_the_map_item">Búsqueda en el mapa</string>
|
||||
<string name="planning_trip_item">Planeando un viaje</string>
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="no"?><resources><string name="local_osm_changes_backup_failed">پشتیبانگیری از تغییرات OsmAnd ناموفق بود</string>
|
||||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<resources><string name="local_osm_changes_backup_failed">پشتیبانگیری از تغییرات OsmAnd ناموفق بود</string>
|
||||
<string name="plugin_distance_point_time">زمان</string>
|
||||
<string name="plugin_distance_point_hdop">دقت</string>
|
||||
<string name="plugin_distance_point_speed">سرعت</string>
|
||||
|
@ -867,7 +868,7 @@
|
|||
|
||||
<string name="download_hillshade_maps">لایه تپه سایه</string>
|
||||
|
||||
<string name="osmand_srtm_long_description_1000_chars">این افزونه، منحنیهای همتراز را که در نقشههای آفلاین OsmAnd نمایش داده میشوند فراهم میکند. دادههای جهانی (بین 70 درجه شمالی و 70 درجه جنوبی) در این زمینه براساس اندازه گیریهای SRTM (مأموریت توپوگرافی رادار شاتل) و ASTER (رادیومتر انعکاسی و پرتویی حرارتی هوایی پیشرفته)، یک ابزار تصویربرداری پردازنده ترا و ماهواره فوق پیشرفته سیستم نظارتی زمین ناسا مییباشند. ASTER محصول تلاش مشترک میان ناسا، وزارت اقتصاد ژاپن، صنعت و تجارت (متی)، و سیستم های فضایی ژاپن (جی-اسپیس سیستم) است.</string>
|
||||
<string name="osmand_srtm_long_description_1000_chars">"این افزونه، منحنیهای همتراز را که در نقشههای آفلاین OsmAnd نمایش داده میشوند فراهم میکند. دادههای جهانی (بین 70 درجه شمالی و 70 درجه جنوبی) در این زمینه براساس اندازه گیریهای SRTM (مأموریت توپوگرافی رادار شاتل) و ASTER (رادیومتر انعکاسی و پرتویی حرارتی هوایی پیشرفته)، یک ابزار تصویربرداری پردازنده ترا و ماهواره فوق پیشرفته سیستم نظارتی زمین ناسا مییباشند. ASTER محصول تلاش مشترک میان ناسا، وزارت اقتصاد ژاپن، صنعت و تجارت (متی)، و سیستم های فضایی ژاپن (جی-اسپیس سیستم) است. "</string>
|
||||
<string name="srtm_plugin_description">تسهیل دانلود خطوط همتراز و سایه تپه (\'تنظیمات\'->\'مدیریت نقشه ها\'->\'دانلود\'->\'انتخاب نوع نقشه\' مورد نظر).</string>
|
||||
<string name="monitoring_control_start">جی پی ایکس</string>
|
||||
<string name="rendering_attr_noPolygons_description">محو کردن همه عوارض زمین روی نقشه</string>
|
||||
|
@ -1499,7 +1500,7 @@ OsmAnd منبع باز است و فعالانه در حال توسعه است.
|
|||
<string name="index_name_gb">اروپا - بریتانیا</string>
|
||||
<string name="osmo_settings_uuid">شماره شناسايي یکتای دستگاه</string>
|
||||
<string name="osmo_settings_descr">مشاهده کلید ثبت یکتای دستگاه و سایر تنظیمات نظارت</string>
|
||||
<string name="osmo_plugin_description">نظارت-OpenStreetMap- فراهم آوردن امکان پیگیری افراد از طریق دستگاه اشتراک اطلاعات مکانشان، ایجاد گروه های ناشناس و مخابره و به اشتراک گذاری مکان های مختلف، دارای امکان تنظیم ردیابی موقت و دائم، ایجاد گروه های ناشناس برای چند روز دارای برخی از ویژگی های محدود، یعنی مدیر گروهیچ کنترلی از راه دور بر روی اعضای گروه ندارد. همچنین کاربران با ثبت نام قابلیت دسترسی به گروه های کاملا کاربردی با بسیاری از امکانات برای مشاهده و نظارت از راه دور را بدست می آورند. لطفا برای ادامه مطلب به این آدرس بروید.\n http://osmo.mobi</string>
|
||||
<string name="osmo_plugin_description">"نظارت -OpenStreetMap- فراهم آوردن امکان پیگیری افراد از طریق دستگاه اشتراک اطلاعات مکانشان، ایجاد گروه های ناشناس و مخابره و به اشتراک گذاری مکان های مختلف، دارای امکان تنظیم ردیابی موقت و دائم، ایجاد گروه های ناشناس برای چند روز دارای برخی از ویژگی های محدود، یعنی مدیر گروه هیچ کنترلی از راه دور بر روی اعضای گروه ندارد. همچنین کاربران با ثبت نام قابلیت دسترسی به گروه های کاملا کاربردی با بسیاری از امکانات برای مشاهده و نظارت از راه دور را بدست می آورند. لطفا برای ادامه مطلب به این آدرس بروید.\n http://osmo.mobi "</string>
|
||||
<string name="osmo_settings">سرویس نظارت OsMo</string>
|
||||
<string name="always_center_position_on_map">موقعیت را همیشه وسط صفحه نشان بده</string>
|
||||
<string name="voice_pref_title">صدا</string>
|
||||
|
@ -1994,5 +1995,5 @@ OsmAnd منبع باز است و فعالانه در حال توسعه است.
|
|||
<string name="rendering_value_disabled_name">غیرفعال</string>
|
||||
<string name="rendering_value_walkingRoutesScopeOSMC_name">رنگبندی براساس حوزه مسیر</string>
|
||||
<string name="rendering_value_walkingRoutesOSMC_name">رنگبندی براساس OSMC</string>
|
||||
<string name="osmo_share_my_location">به اشتراک گذاری مکان من</string>
|
||||
<string name="osmo_share_my_location">اشتراک گذاری مکان من</string>
|
||||
</resources>
|
|
@ -2061,7 +2061,7 @@ Afghanistan, Albanie, Algérie, Allemagne, Andorre, Angola, Anguilla, Antigua-et
|
|||
<string name="first_usage_item_description">Comment télécharger des cartes et définir les paramètres de base</string>
|
||||
<string name="navigation_item_description">Configurer la navigation</string>
|
||||
<string name="faq_item">FAQ</string>
|
||||
<string name="faq_item_description">Comment utiliser les greffons</string>
|
||||
<string name="faq_item_description">Foire aux questions</string>
|
||||
<string name="map_viewing_item">Affichage de la carte</string>
|
||||
<string name="search_on_the_map_item">Rechercher de carte</string>
|
||||
<string name="planning_trip_item">Préparer un trajet</string>
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="no"?><resources>
|
||||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<resources>
|
||||
<string name="send_files_to_osm">GPX fájl küldése OSM-re?</string>
|
||||
<string name="gpx_visibility_txt">Láthatóság</string>
|
||||
<string name="gpx_tags_txt">Címkék</string>
|
||||
|
@ -1968,10 +1969,10 @@
|
|||
<string name="other_menu_group">Egyebek</string>
|
||||
<string name="plugins_menu_group">Bővítmények</string>
|
||||
<string name="first_usage_item">Első használat</string>
|
||||
<string name="first_usage_item_description">Hogyan tölts le térképet, alap beállítások</string>
|
||||
<string name="first_usage_item_description">Hogyan tölts le térképeket, alap beállítások</string>
|
||||
<string name="navigation_item_description">Navigáció beállítása</string>
|
||||
<string name="faq_item">GYIK</string>
|
||||
<string name="faq_item_description">Hogyan használd a bővítményeket</string>
|
||||
<string name="faq_item_description">Gyakran ismételt kérdések</string>
|
||||
<string name="map_viewing_item">Térkép böngészése</string>
|
||||
<string name="search_on_the_map_item">Keresés a térképen</string>
|
||||
<string name="planning_trip_item">Utazás tervezése</string>
|
||||
|
@ -1983,4 +1984,13 @@
|
|||
<string name="versions_item">Verziók</string>
|
||||
<string name="feedback">szavazás</string>
|
||||
<string name="contact_us">Kapcsolat</string>
|
||||
<string name="read_more">Bővebben</string>
|
||||
<string name="whats_new">Újdonságok</string>
|
||||
<string name="rendering_attr_hideProposed_name">Tervezett objektumok elrejtése</string>
|
||||
<string name="shared_string_update">Frissítés</string>
|
||||
<string name="shared_string_upload">Feltöltés</string>
|
||||
<string name="osm_edit_created_poi">Létrehozott OSM POI</string>
|
||||
<string name="osm_edit_created_bug">Létrehozott OSM bug</string>
|
||||
<string name="map_legend">Térkép jelkulcs</string>
|
||||
<string name="favourites_edit_dialog_title">Kedvenc információk</string>
|
||||
</resources>
|
|
@ -1,4 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="no"?><resources>
|
||||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<resources>
|
||||
<string name="rendering_attr_roadColors_description">Velg fargeskjema for veier:</string>
|
||||
<string name="rendering_attr_roadColors_name">Veifargeskjema</string>
|
||||
<string name="map_widget_show_destination_arrow">Vis retning til målet</string>
|
||||
|
@ -1426,7 +1427,7 @@
|
|||
<string name="plugins_menu_group">Programtillegg</string>
|
||||
<string name="first_usage_item">Første bruk</string>
|
||||
<string name="first_usage_item_description">Hvordan laste ned kart, angi grunnleggende innstillinger</string>
|
||||
<string name="faq_item_description">Hvordan bruke programtillegg</string>
|
||||
<string name="faq_item_description">Ofte stilte spørsmål</string>
|
||||
<string name="map_viewing_item">Kartvisning</string>
|
||||
<string name="search_on_the_map_item">Kartsøking</string>
|
||||
|
||||
|
@ -1434,4 +1435,9 @@
|
|||
<string name="versions_item">Versjoner</string>
|
||||
<string name="contact_us">Kontakt oss</string>
|
||||
<string name="planning_trip_item">Planlegge en tur</string>
|
||||
<string name="read_more">Les mer</string>
|
||||
<string name="rendering_attr_hideProposed_name">Skjul foreslåtte objekter</string>
|
||||
<string name="techical_articles_item">Tekniske artikler</string>
|
||||
<string name="feedback">Tilbakemelding</string>
|
||||
<string name="map_legend">Kartforklaring</string>
|
||||
</resources>
|
|
@ -1,4 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="no"?><resources>
|
||||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<resources>
|
||||
|
||||
<string name="layer_map_appearance">Configureer scherm</string>
|
||||
<string name="show_lanes">Toon rijstroken</string>
|
||||
|
@ -2190,4 +2191,7 @@ Afghanistan, Albanie, Algerije, Andorra, Angola, Anguilla, Antigua en Barbuda, A
|
|||
<string name="feedback">Commentaar</string>
|
||||
<string name="contact_us">Neem contact op</string>
|
||||
<string name="map_legend">Legenda</string>
|
||||
<string name="read_more">Meer lezen</string>
|
||||
<string name="whats_new">Wat is nieuw in</string>
|
||||
<string name="rendering_attr_hideProposed_name">Verberg voorgestelde objecten</string>
|
||||
</resources>
|
|
@ -2381,4 +2381,7 @@
|
|||
<string name="poi_toilets_access_community">Туалет: общественный</string>
|
||||
<string name="poi_internet_access_type_terminal">Тип доступа к Интернет: терминал</string>
|
||||
<string name="poi_historic_period_dominate">Исторический период: доминантный</string>
|
||||
|
||||
<string name="poi_conveying_yes">Движущаяся(йся): да</string>
|
||||
|
||||
</resources>
|
||||
|
|
|
@ -1548,4 +1548,42 @@
|
|||
<string name="poi_aerialway_summer_access_both">Atzessu in s\'istiu: intrada e essida</string>
|
||||
|
||||
<string name="poi_railway_crossing">Coladòrgiu a livellu</string>
|
||||
<string name="poi_historic_yes">Ogetu istòricu</string>
|
||||
<string name="poi_surveillance_yes">Bardiamentu: eja</string>
|
||||
<string name="poi_shop_yes">Cun butega</string>
|
||||
|
||||
<string name="poi_service_bicycle_retail_yes">Bèndida de bitzicletas: eja</string>
|
||||
<string name="poi_service_bicycle_retail_no">Bèndida de bitzicletas: nono</string>
|
||||
<string name="poi_service_bicycle_repair_yes">Acontzu de bitzicletas: eja</string>
|
||||
<string name="poi_service_bicycle_repair_no">Acontzu de bitzicletas: nono</string>
|
||||
<string name="poi_service_bicycle_rental_yes">Nolu de bitzicletas: eja</string>
|
||||
<string name="poi_service_bicycle_rental_no">Nolu de bitzicletas: nono</string>
|
||||
<string name="poi_service_bicycle_pump_yes">Pompa pro bitzicletas: eja</string>
|
||||
<string name="poi_service_bicycle_pump_no">Pompa pro bitzicletas: nono</string>
|
||||
<string name="poi_service_bicycle_diy_yes">Ainas pro s’acontzu a sa sola de bitzicletas: eja</string>
|
||||
<string name="poi_service_bicycle_diy_no">Ainas pro s’acontzu a sa sola de bitzicletas: nono</string>
|
||||
<string name="poi_service_bicycle_cleaning_yes">Innetadura de bitzicletas: eja</string>
|
||||
<string name="poi_service_bicycle_cleaning_no">Innetadura de bitzicletas: nono</string>
|
||||
<string name="poi_service_bicycle_chaintool_yes">Trunca-cadenas pro bitzicletas: eja</string>
|
||||
<string name="poi_service_bicycle_chaintool_no">Trunca-cadenas pro bitzicletas: nono</string>
|
||||
<string name="poi_service_bicycle_second_hand_yes">Bèndida de bitzicletas de segunda manu: eja</string>
|
||||
<string name="poi_service_bicycle_second_hand_no">Bèndida de bitzicletas de segunda manu: nono</string>
|
||||
|
||||
<string name="poi_wildlife_hide">Logu pro abbaidare sa natura</string>
|
||||
|
||||
<string name="poi_training_language">Annestru: limba</string>
|
||||
<string name="poi_training_music">Annestru: mùsica</string>
|
||||
<string name="poi_training_dance">Annestru: dantza</string>
|
||||
<string name="poi_training_sport">Annestru: isport</string>
|
||||
<string name="poi_training_art">Annestru: arte</string>
|
||||
<string name="poi_training_cooking">Annestru: coghina</string>
|
||||
<string name="poi_training_computer">Annestru: informàtica</string>
|
||||
<string name="poi_training_yoga">Annestru: yoga</string>
|
||||
<string name="poi_training_martial_art">Annestru: artes martziales</string>
|
||||
<string name="poi_training_aviation">Annestru: aviatzione</string>
|
||||
<string name="poi_training_hairdressing">Annestru: pilucheria</string>
|
||||
|
||||
<string name="poi_monument_yes">Ogetu monumentale</string>
|
||||
|
||||
<string name="poi_note">Nota</string>
|
||||
</resources>
|
||||
|
|
|
@ -1932,7 +1932,7 @@
|
|||
<string name="share_menu_location">Dela platsen</string>
|
||||
<string name="shared_string_send">Sänd</string>
|
||||
<string name="hillshade_layer_disabled">Skuggad relief-lager inaktiverat</string>
|
||||
<string name="show_on_start_description">OsmAnd kommer att starta från kartskärmen</string>
|
||||
<string name="show_on_start_description">\'Av\' startar kartskärmen direkt</string>
|
||||
<string name="map_downloaded">Karta hämtad</string>
|
||||
<string name="map_downloaded_descr">Karta över %1$s har hämtats. Gå tillbaka till kartan för att börja använda den.</string>
|
||||
<string name="go_to_map">Gå till kartan</string>
|
||||
|
|
|
@ -2376,5 +2376,7 @@
|
|||
|
||||
<string name="poi_boat_storage">Boat storage</string>
|
||||
|
||||
<string name="poi_conveying_yes">Conveying: yes</string>
|
||||
|
||||
|
||||
</resources>
|
||||
|
|
|
@ -281,7 +281,7 @@ public class AppInitializer implements IProgress {
|
|||
@Override
|
||||
public String getTranslation(AbstractPoiType type) {
|
||||
if(type.getBaseLangType() != null) {
|
||||
return getTranslation(type.getBaseLangType()) + "(" + getLangTranslation(type.getLang()) +")";
|
||||
return getTranslation(type.getBaseLangType()) + " (" + getLangTranslation(type.getLang()).toLowerCase() +")";
|
||||
}
|
||||
try {
|
||||
Field f = R.string.class.getField("poi_" + type.getIconKeyName());
|
||||
|
|
|
@ -16,7 +16,9 @@ import net.osmand.plus.OsmandSettings;
|
|||
import net.osmand.plus.OsmandSettings.AutoZoomMap;
|
||||
import net.osmand.plus.R;
|
||||
import net.osmand.plus.TargetPointsHelper.TargetPoint;
|
||||
import net.osmand.plus.activities.MapActivity;
|
||||
import net.osmand.plus.dashboard.DashboardOnMap;
|
||||
import net.osmand.plus.mapcontextmenu.MapContextMenu;
|
||||
import net.osmand.plus.routing.RoutingHelper;
|
||||
import net.osmand.plus.routing.RoutingHelper.IRouteInformationListener;
|
||||
import net.osmand.plus.views.AnimateDraggingMapThread;
|
||||
|
@ -32,6 +34,7 @@ public class MapViewTrackingUtilities implements OsmAndLocationListener, IMapLoc
|
|||
private boolean sensorRegistered = false;
|
||||
private OsmandMapTileView mapView;
|
||||
private DashboardOnMap dashboard;
|
||||
private MapContextMenu contextMenu;
|
||||
private OsmandSettings settings;
|
||||
private OsmandApplication app;
|
||||
private boolean isMapLinkedToLocation = true;
|
||||
|
@ -85,12 +88,19 @@ public class MapViewTrackingUtilities implements OsmAndLocationListener, IMapLoc
|
|||
if(dashboard != null) {
|
||||
dashboard.updateCompassValue(val);
|
||||
}
|
||||
if(contextMenu != null) {
|
||||
contextMenu.updateCompassValue(val);
|
||||
}
|
||||
}
|
||||
|
||||
public void setDashboard(DashboardOnMap dashboard) {
|
||||
this.dashboard = dashboard;
|
||||
}
|
||||
|
||||
public void setContextMenu(MapContextMenu contextMenu) {
|
||||
this.contextMenu = contextMenu;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateLocation(Location location) {
|
||||
showViewAngle = false;
|
||||
|
@ -134,6 +144,9 @@ public class MapViewTrackingUtilities implements OsmAndLocationListener, IMapLoc
|
|||
if(dashboard != null) {
|
||||
dashboard.updateMyLocation(location);
|
||||
}
|
||||
if(contextMenu != null) {
|
||||
contextMenu.updateMyLocation(location);
|
||||
}
|
||||
}
|
||||
|
||||
private boolean isSmallSpeedForCompass(Location location) {
|
||||
|
@ -170,8 +183,9 @@ public class MapViewTrackingUtilities implements OsmAndLocationListener, IMapLoc
|
|||
}
|
||||
|
||||
private void registerUnregisterSensor(net.osmand.Location location) {
|
||||
|
||||
int currentMapRotation = settings.ROTATE_MAP.get();
|
||||
boolean registerCompassListener = (showViewAngle && location != null)
|
||||
boolean registerCompassListener = ((showViewAngle || contextMenu != null) && location != null)
|
||||
|| (currentMapRotation == OsmandSettings.ROTATE_MAP_COMPASS && !routePlanningMode);
|
||||
// show point view only if gps enabled
|
||||
if(sensorRegistered != registerCompassListener) {
|
||||
|
|
|
@ -15,6 +15,7 @@ import net.osmand.plus.mapcontextmenu.MenuController.TitleProgressController;
|
|||
import net.osmand.plus.mapcontextmenu.other.ShareMenu;
|
||||
import net.osmand.plus.views.ContextMenuLayer;
|
||||
import net.osmand.plus.views.OsmandMapLayer;
|
||||
import net.osmand.util.MapUtils;
|
||||
|
||||
public class MapContextMenu extends MenuTitleController {
|
||||
|
||||
|
@ -29,6 +30,10 @@ public class MapContextMenu extends MenuTitleController {
|
|||
private LatLon mapCenter;
|
||||
private int mapPosition = 0;
|
||||
|
||||
private LatLon myLocation;
|
||||
private Float heading;
|
||||
private boolean inLocationUpdate = false;
|
||||
|
||||
private int favActionIconId;
|
||||
|
||||
@Override
|
||||
|
@ -97,6 +102,11 @@ public class MapContextMenu extends MenuTitleController {
|
|||
}
|
||||
|
||||
public boolean init(LatLon latLon, PointDescription pointDescription, Object object, boolean update) {
|
||||
|
||||
if (myLocation == null) {
|
||||
myLocation = getMapActivity().getMyApplication().getSettings().getLastKnownMapLocation();
|
||||
}
|
||||
|
||||
if (!update && isVisible()) {
|
||||
if (this.object == null || !this.object.equals(object)) {
|
||||
hide();
|
||||
|
@ -399,9 +409,59 @@ public class MapContextMenu extends MenuTitleController {
|
|||
return menuController == null || menuController.buttonsVisible();
|
||||
}
|
||||
|
||||
public boolean displayDistanceDirection() {
|
||||
return menuController != null && menuController.displayDistanceDirection();
|
||||
}
|
||||
|
||||
public void updateData() {
|
||||
if (menuController != null) {
|
||||
menuController.updateData();
|
||||
}
|
||||
}
|
||||
|
||||
public LatLon getMyLocation() {
|
||||
return myLocation;
|
||||
}
|
||||
|
||||
public Float getHeading() {
|
||||
return heading;
|
||||
}
|
||||
|
||||
public void updateMyLocation(net.osmand.Location location) {
|
||||
if (location != null) {
|
||||
myLocation = new LatLon(location.getLatitude(), location.getLongitude());
|
||||
updateLocation(false, true, false);
|
||||
}
|
||||
}
|
||||
|
||||
public void updateCompassValue(float value) {
|
||||
// 99 in next line used to one-time initialize arrows (with reference vs. fixed-north direction)
|
||||
// on non-compass devices
|
||||
float lastHeading = heading != null ? heading : 99;
|
||||
heading = value;
|
||||
if (Math.abs(MapUtils.degreesDiff(lastHeading, heading)) > 5) {
|
||||
updateLocation(false, false, true);
|
||||
} else {
|
||||
heading = lastHeading;
|
||||
}
|
||||
}
|
||||
|
||||
public void updateLocation(final boolean centerChanged, final boolean locationChanged,
|
||||
final boolean compassChanged) {
|
||||
if (inLocationUpdate) {
|
||||
return;
|
||||
}
|
||||
inLocationUpdate = true;
|
||||
mapActivity.runOnUiThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
inLocationUpdate = false;
|
||||
MapContextMenuFragment menuFragment = findMenuFragment();
|
||||
if (menuFragment != null) {
|
||||
menuFragment.updateLocation(centerChanged, locationChanged, compassChanged);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
}
|
|
@ -37,6 +37,7 @@ import net.osmand.plus.OsmandApplication;
|
|||
import net.osmand.plus.OsmandSettings;
|
||||
import net.osmand.plus.R;
|
||||
import net.osmand.plus.activities.MapActivity;
|
||||
import net.osmand.plus.dashboard.DashLocationFragment;
|
||||
import net.osmand.plus.download.DownloadIndexesThread.DownloadEvents;
|
||||
import net.osmand.plus.mapcontextmenu.MenuController.TitleButtonController;
|
||||
import net.osmand.plus.mapcontextmenu.MenuController.TitleProgressController;
|
||||
|
@ -49,7 +50,6 @@ import static net.osmand.plus.mapcontextmenu.MenuBuilder.SHADOW_HEIGHT_TOP_DP;
|
|||
|
||||
|
||||
public class MapContextMenuFragment extends Fragment implements DownloadEvents {
|
||||
|
||||
public static final String TAG = "MapContextMenuFragment";
|
||||
|
||||
public static final float FAB_PADDING_TOP_DP = 4f;
|
||||
|
@ -84,6 +84,8 @@ public class MapContextMenuFragment extends Fragment implements DownloadEvents {
|
|||
private int origMarkerY;
|
||||
private boolean customMapCenter;
|
||||
|
||||
private int screenOrientation;
|
||||
|
||||
private class SingleTapConfirm implements OnGestureListener {
|
||||
|
||||
@Override
|
||||
|
@ -529,7 +531,7 @@ public class MapContextMenuFragment extends Fragment implements DownloadEvents {
|
|||
iconLayout.setVisibility(View.VISIBLE);
|
||||
} else if (iconId != 0) {
|
||||
iconView.setImageDrawable(iconsCache.getIcon(iconId,
|
||||
light ? R.color.osmand_orange : R.color.osmand_orange_dark, 0.75f));
|
||||
light ? R.color.osmand_orange : R.color.osmand_orange_dark));
|
||||
iconLayout.setVisibility(View.VISIBLE);
|
||||
} else {
|
||||
iconLayout.setVisibility(View.GONE);
|
||||
|
@ -550,6 +552,21 @@ public class MapContextMenuFragment extends Fragment implements DownloadEvents {
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResume() {
|
||||
super.onResume();
|
||||
screenOrientation = DashLocationFragment.getScreenOrientation(getActivity());
|
||||
if (menu.displayDistanceDirection()) {
|
||||
getMapActivity().getMapViewTrackingUtilities().setContextMenu(menu);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPause() {
|
||||
getMapActivity().getMapViewTrackingUtilities().setContextMenu(null);
|
||||
super.onPause();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDestroyView() {
|
||||
super.onDestroyView();
|
||||
|
@ -641,6 +658,15 @@ public class MapContextMenuFragment extends Fragment implements DownloadEvents {
|
|||
line1.setText(menu.getTitleStr());
|
||||
|
||||
// Text line 2
|
||||
TextView distanceText = (TextView) view.findViewById(R.id.distance);
|
||||
ImageView direction = (ImageView) view.findViewById(R.id.direction);
|
||||
if (menu.displayDistanceDirection()) {
|
||||
updateDistanceDirection();
|
||||
} else {
|
||||
direction.setVisibility(View.GONE);
|
||||
distanceText.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
TextView line2 = (TextView) view.findViewById(R.id.context_menu_line2);
|
||||
line2.setText(menu.getLocationStr());
|
||||
Drawable icon = menu.getSecondLineIcon();
|
||||
|
@ -650,6 +676,18 @@ public class MapContextMenuFragment extends Fragment implements DownloadEvents {
|
|||
}
|
||||
}
|
||||
|
||||
private void updateDistanceDirection() {
|
||||
TextView distanceText = (TextView) view.findViewById(R.id.distance);
|
||||
ImageView direction = (ImageView) view.findViewById(R.id.direction);
|
||||
|
||||
boolean mapLinked = getMapActivity().getMapViewTrackingUtilities().isMapLinkedToLocation() && menu.getMyLocation() != null;
|
||||
float myHeading = menu.getHeading() == null ? 0f : menu.getHeading();
|
||||
float h = !mapLinked ? -getMapActivity().getMapRotate() : myHeading;
|
||||
|
||||
DashLocationFragment.updateLocationView(!mapLinked, menu.getMyLocation(), h, direction, distanceText,
|
||||
menu.getLatLon().getLatitude(), menu.getLatLon().getLongitude(), screenOrientation, getMyApplication(), getActivity());
|
||||
}
|
||||
|
||||
private int getPosY() {
|
||||
return getPosY(false);
|
||||
}
|
||||
|
@ -870,5 +908,13 @@ public class MapContextMenuFragment extends Fragment implements DownloadEvents {
|
|||
getActivity().getWindowManager().getDefaultDisplay().getMetrics(dm);
|
||||
return dm.heightPixels;
|
||||
}
|
||||
|
||||
public void updateLocation(boolean centerChanged, boolean locationChanged, boolean compassChanged) {
|
||||
boolean mapLinkedToLocation = getMapActivity().getMapViewTrackingUtilities().isMapLinkedToLocation();
|
||||
if (compassChanged && !mapLinkedToLocation) {
|
||||
return;
|
||||
}
|
||||
updateDistanceDirection();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -220,7 +220,11 @@ public abstract class MenuController extends BaseMenuController {
|
|||
return menuType != MenuType.STANDARD;
|
||||
}
|
||||
|
||||
public boolean displayStreetNameinTitle() {
|
||||
public boolean displayStreetNameInTitle() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean displayDistanceDirection() {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
|
@ -59,8 +59,7 @@ public abstract class MenuTitleController {
|
|||
return typeStr;
|
||||
} else {
|
||||
if (Algorithms.isEmpty(streetStr)) {
|
||||
return PointDescription.getLocationName(getMapActivity(),
|
||||
getLatLon().getLatitude(), getLatLon().getLongitude(), true).replaceAll("\n", "");
|
||||
return typeStr;
|
||||
} else {
|
||||
return streetStr;
|
||||
}
|
||||
|
@ -147,7 +146,7 @@ public abstract class MenuTitleController {
|
|||
|
||||
if (!Algorithms.isEmpty(streetStr)) {
|
||||
MenuController menuController = getMenuController();
|
||||
if (menuController == null || menuController.displayStreetNameinTitle()) {
|
||||
if (menuController == null || menuController.displayStreetNameInTitle()) {
|
||||
nameStr = streetStr;
|
||||
addressUnknown = false;
|
||||
streetStr = "";
|
||||
|
|
|
@ -34,11 +34,11 @@ public class AmenityMenuBuilder extends MenuBuilder {
|
|||
this.amenity = amenity;
|
||||
}
|
||||
|
||||
private void buildRow(View view, int iconId, String text, int textColor, boolean isWiki, boolean needLinks) {
|
||||
buildRow(view, getRowIcon(iconId), text, textColor, isWiki, needLinks);
|
||||
private void buildRow(View view, int iconId, String text, String textPrefix, int textColor, boolean isWiki, boolean isText, boolean needLinks) {
|
||||
buildRow(view, getRowIcon(iconId), text, textPrefix, textColor, isWiki, isText, needLinks);
|
||||
}
|
||||
|
||||
protected void buildRow(final View view, Drawable icon, String text, int textColor, boolean isWiki, boolean needLinks) {
|
||||
protected void buildRow(final View view, Drawable icon, final String text, final String textPrefix, int textColor, boolean isWiki, boolean isText, boolean needLinks) {
|
||||
boolean light = app.getSettings().isLightContent();
|
||||
|
||||
LinearLayout ll = new LinearLayout(view.getContext());
|
||||
|
@ -82,8 +82,15 @@ public class AmenityMenuBuilder extends MenuBuilder {
|
|||
if (isWiki) {
|
||||
textView.setMinLines(1);
|
||||
textView.setMaxLines(15);
|
||||
} else if (isText) {
|
||||
textView.setMinLines(1);
|
||||
textView.setMaxLines(10);
|
||||
}
|
||||
if (!Algorithms.isEmpty(textPrefix)) {
|
||||
textView.setText(textPrefix + ": " + text);
|
||||
} else {
|
||||
textView.setText(text);
|
||||
}
|
||||
if (textColor > 0) {
|
||||
textView.setTextColor(view.getResources().getColor(textColor));
|
||||
}
|
||||
|
@ -91,7 +98,14 @@ public class AmenityMenuBuilder extends MenuBuilder {
|
|||
textView.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
POIMapLayer.showDescriptionDialog(view.getContext(), app, amenity);
|
||||
POIMapLayer.showWikipediaDialog(view.getContext(), app, amenity);
|
||||
}
|
||||
});
|
||||
} else if (isText) {
|
||||
textView.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
POIMapLayer.showDescriptionDialog(view.getContext(), app, text, textPrefix);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -129,7 +143,9 @@ public class AmenityMenuBuilder extends MenuBuilder {
|
|||
String key = e.getKey();
|
||||
String vl = e.getValue();
|
||||
|
||||
String textPrefix = "";
|
||||
boolean isWiki = false;
|
||||
boolean isText = false;
|
||||
boolean needLinks = !"population".equals(key);
|
||||
|
||||
if (amenity.getType().isWiki()) {
|
||||
|
@ -189,21 +205,24 @@ public class AmenityMenuBuilder extends MenuBuilder {
|
|||
if (pType.getParentType() != null && pType.getParentType() instanceof PoiType) {
|
||||
icon = getRowIcon(view.getContext(), ((PoiType) pType.getParentType()).getOsmTag() + "_" + pType.getOsmTag().replace(':', '_') + "_" + pType.getOsmValue());
|
||||
}
|
||||
if (pt instanceof PoiType && !((PoiType) pt).isText()) {
|
||||
vl = pt.getTranslation();
|
||||
if (!pType.isText()) {
|
||||
vl = pType.getTranslation();
|
||||
} else {
|
||||
vl = pt.getTranslation() + ": " + amenity.unzipContent(e.getValue());
|
||||
isText = true;
|
||||
iconId = R.drawable.ic_action_note_dark;
|
||||
textPrefix = pType.getTranslation();
|
||||
vl = amenity.unzipContent(e.getValue());
|
||||
}
|
||||
} else {
|
||||
vl = Algorithms.capitalizeFirstLetterAndLowercase(e.getKey()) +
|
||||
": " + amenity.unzipContent(e.getValue());
|
||||
textPrefix = Algorithms.capitalizeFirstLetterAndLowercase(e.getKey());
|
||||
vl = amenity.unzipContent(e.getValue());
|
||||
}
|
||||
}
|
||||
|
||||
if (icon != null) {
|
||||
buildRow(view, icon, vl, textColor, isWiki, needLinks);
|
||||
buildRow(view, icon, vl, textPrefix, textColor, isWiki, isText, needLinks);
|
||||
} else {
|
||||
buildRow(view, iconId, vl, textColor, isWiki, needLinks);
|
||||
buildRow(view, iconId, vl, textPrefix, textColor, isWiki, isText, needLinks);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -75,9 +75,4 @@ public class AmenityMenuController extends MenuController {
|
|||
}
|
||||
addMyLocationToPlainItems(pointDescription, amenity.getLocation());
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getNameStr() {
|
||||
return getPointDescription().getName();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -85,11 +85,6 @@ public class AudioVideoNoteMenuController extends MenuController {
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getNameStr() {
|
||||
return getPointDescription().getName();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTypeStr() {
|
||||
return recording.getType(getMapActivity());
|
||||
|
|
|
@ -134,11 +134,6 @@ public class EditPOIMenuController extends MenuController {
|
|||
return getIcon(R.drawable.ic_action_gabout_dark, R.color.osmand_orange_dark, R.color.osmand_orange);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getNameStr() {
|
||||
return getPointDescription().getName();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTypeStr() {
|
||||
return pointTypeStr;
|
||||
|
|
|
@ -48,9 +48,14 @@ public class FavouritePointMenuController extends MenuController {
|
|||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean displayDistanceDirection() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Drawable getLeftIcon() {
|
||||
return FavoriteImageDrawable.getOrCreate(getMapActivity().getMyApplication(), fav.getColor(), true);
|
||||
return FavoriteImageDrawable.getOrCreate(getMapActivity().getMyApplication(), fav.getColor(), false);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -68,9 +73,4 @@ public class FavouritePointMenuController extends MenuController {
|
|||
return fav.getCategory().length() == 0 ?
|
||||
getMapActivity().getString(R.string.shared_string_favorites) : fav.getCategory();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getNameStr() {
|
||||
return getPointDescription().getName();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -31,6 +31,11 @@ public class HistoryMenuController extends MenuController {
|
|||
return (typeName != null && !typeName.isEmpty());
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean displayDistanceDirection() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Drawable getLeftIcon() {
|
||||
return getIcon(SearchHistoryFragment.getItemIcon(entry.getName()));
|
||||
|
@ -45,11 +50,6 @@ public class HistoryMenuController extends MenuController {
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getNameStr() {
|
||||
return getPointDescription().getName();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTypeStr() {
|
||||
if (needTypeStr()) {
|
||||
|
|
|
@ -35,7 +35,6 @@ public class MapDataMenuController extends MenuController {
|
|||
private WorldRegion region;
|
||||
private IndexItem indexItem;
|
||||
private List<IndexItem> otherIndexItems;
|
||||
private String name;
|
||||
|
||||
private DownloadValidationManager downloadValidationManager;
|
||||
private DownloadIndexesThread downloadThread;
|
||||
|
@ -45,7 +44,6 @@ public class MapDataMenuController extends MenuController {
|
|||
OsmandRegions osmandRegions = app.getRegions();
|
||||
String fullName = osmandRegions.getFullName(dataObject);
|
||||
this.region = osmandRegions.getRegionData(fullName);
|
||||
name = getPointDescription().getName();
|
||||
downloadValidationManager = new DownloadValidationManager(app);
|
||||
downloadThread = app.getDownloadThread();
|
||||
|
||||
|
@ -120,11 +118,6 @@ public class MapDataMenuController extends MenuController {
|
|||
return getIcon(R.drawable.ic_map, R.color.osmand_orange_dark, R.color.osmand_orange);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getNameStr() {
|
||||
return name;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTypeStr() {
|
||||
String res;
|
||||
|
@ -153,9 +146,9 @@ public class MapDataMenuController extends MenuController {
|
|||
String[] items = region.getParams().getWikiLink().split(":");
|
||||
String url;
|
||||
if (items.length > 1) {
|
||||
url = "https://" + items[0] + ".wikipedia.org/wiki/" + items[1];
|
||||
url = "https://" + items[0] + ".wikipedia.org/wiki/" + items[1].replace(' ', '_');
|
||||
} else {
|
||||
url = "https://wikipedia.org/wiki/" + items[0];
|
||||
url = "https://wikipedia.org/wiki/" + items[0].replace(' ', '_');
|
||||
}
|
||||
addPlainMenuItem(R.drawable.ic_world_globe_dark, url, true);
|
||||
}
|
||||
|
|
|
@ -25,9 +25,4 @@ public class MyLocationMenuController extends MenuController {
|
|||
ApplicationMode appMode = getMapActivity().getMyApplication().getSettings().getApplicationMode();
|
||||
return getMapActivity().getResources().getDrawable(appMode.getResourceLocation());
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getNameStr() {
|
||||
return getPointDescription().getName();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -40,11 +40,6 @@ public class OsMoMenuController extends MenuController {
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getNameStr() {
|
||||
return getPointDescription().getName();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTypeStr() {
|
||||
OsmandApplication app = getMapActivity().getMyApplication();
|
||||
|
|
|
@ -52,13 +52,13 @@ public class ParkingPositionMenuController extends MenuController {
|
|||
}
|
||||
|
||||
@Override
|
||||
public Drawable getLeftIcon() {
|
||||
return getIcon(R.drawable.ic_action_parking_dark, R.color.map_widget_blue, R.color.osmand_orange);
|
||||
public boolean displayDistanceDirection() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getNameStr() {
|
||||
return getPointDescription().getName();
|
||||
public Drawable getLeftIcon() {
|
||||
return getIcon(R.drawable.ic_action_parking_dark, R.color.map_widget_blue, R.color.osmand_orange);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -29,7 +29,12 @@ public class PointDescriptionMenuController extends MenuController {
|
|||
}
|
||||
|
||||
@Override
|
||||
public boolean displayStreetNameinTitle() {
|
||||
public boolean displayStreetNameInTitle() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean displayDistanceDirection() {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -47,11 +52,6 @@ public class PointDescriptionMenuController extends MenuController {
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getNameStr() {
|
||||
return getPointDescription().getName();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTypeStr() {
|
||||
if (needTypeStr()) {
|
||||
|
|
|
@ -46,6 +46,11 @@ public class TargetPointMenuController extends MenuController {
|
|||
return !Algorithms.isEmpty(getNameStr());
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean displayDistanceDirection() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Drawable getLeftIcon() {
|
||||
if (!targetPoint.intermediate) {
|
||||
|
@ -63,11 +68,6 @@ public class TargetPointMenuController extends MenuController {
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getNameStr() {
|
||||
return getPointDescription().getName();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTypeStr() {
|
||||
return targetPoint.getPointDescription(getMapActivity()).getTypeName();
|
||||
|
|
|
@ -47,6 +47,11 @@ public class WptPtMenuController extends MenuController {
|
|||
return wpt.category != null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean displayDistanceDirection() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Drawable getLeftIcon() {
|
||||
return FavoriteImageDrawable.getOrCreate(getMapActivity().getMyApplication(), wpt.getColor(), true);
|
||||
|
@ -65,9 +70,4 @@ public class WptPtMenuController extends MenuController {
|
|||
public String getTypeStr() {
|
||||
return wpt.category != null ? wpt.category : getMapActivity().getString(R.string.shared_string_none);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getNameStr() {
|
||||
return getPointDescription().getName();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -210,7 +210,7 @@ public class FavoritePointEditorFragment extends PointEditorFragment {
|
|||
if (group != null) {
|
||||
color = group.color;
|
||||
}
|
||||
return FavoriteImageDrawable.getOrCreate(getMapActivity(), color, true);
|
||||
return FavoriteImageDrawable.getOrCreate(getMapActivity(), color, false);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -154,6 +154,7 @@ public class MapMultiSelectionMenu extends BaseMenuController {
|
|||
private void clearMenu() {
|
||||
clearSelectedObjects();
|
||||
objects.clear();
|
||||
getMapActivity().refreshMap();
|
||||
}
|
||||
|
||||
public void show(LatLon latLon, Map<Object, IContextMenuProvider> selectedObjects) {
|
||||
|
|
|
@ -142,7 +142,7 @@ public class MapMultiSelectionMenuFragment extends Fragment implements AdapterVi
|
|||
iconLayout.setVisibility(View.VISIBLE);
|
||||
} else if (iconId != 0) {
|
||||
iconView.setImageDrawable(iconsCache.getIcon(iconId,
|
||||
menu.isLight() ? R.color.osmand_orange : R.color.osmand_orange_dark, 0.75f));
|
||||
menu.isLight() ? R.color.osmand_orange : R.color.osmand_orange_dark));
|
||||
iconLayout.setVisibility(View.VISIBLE);
|
||||
} else {
|
||||
iconLayout.setVisibility(View.GONE);
|
||||
|
|
|
@ -1,10 +1,9 @@
|
|||
package net.osmand.plus.views;
|
||||
|
||||
import android.app.AlertDialog;
|
||||
import android.app.AlertDialog.Builder;
|
||||
import android.app.Dialog;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.res.Resources;
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.BitmapFactory;
|
||||
import android.graphics.Canvas;
|
||||
|
@ -18,8 +17,6 @@ import android.net.Uri;
|
|||
import android.support.v4.view.MenuItemCompat;
|
||||
import android.support.v7.widget.PopupMenu;
|
||||
import android.support.v7.widget.Toolbar;
|
||||
import android.text.SpannableString;
|
||||
import android.text.method.LinkMovementMethod;
|
||||
import android.text.util.Linkify;
|
||||
import android.util.TypedValue;
|
||||
import android.view.Gravity;
|
||||
|
@ -27,6 +24,7 @@ import android.view.MenuItem;
|
|||
import android.view.MenuItem.OnMenuItemClickListener;
|
||||
import android.view.MotionEvent;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.webkit.WebSettings;
|
||||
import android.webkit.WebView;
|
||||
import android.widget.Button;
|
||||
|
@ -67,6 +65,8 @@ import java.util.List;
|
|||
import java.util.Set;
|
||||
import java.util.TreeSet;
|
||||
|
||||
import static android.util.TypedValue.COMPLEX_UNIT_DIP;
|
||||
|
||||
public class POIMapLayer extends OsmandMapLayer implements ContextMenuLayer.IContextMenuProvider,
|
||||
MapTextProvider<Amenity>, IRouteInformationListener {
|
||||
private static final int startZoom = 9;
|
||||
|
@ -294,7 +294,7 @@ public class POIMapLayer extends OsmandMapLayer implements ContextMenuLayer.ICon
|
|||
return true;
|
||||
}
|
||||
|
||||
public static void showDescriptionDialog(Context ctx, OsmandApplication app, Amenity a) {
|
||||
public static void showWikipediaDialog(Context ctx, OsmandApplication app, Amenity a) {
|
||||
String lang = app.getSettings().MAP_PREFERRED_LOCALE.get();
|
||||
if (a.getType().isWiki()) {
|
||||
String preferredLang = lang;
|
||||
|
@ -302,23 +302,13 @@ public class POIMapLayer extends OsmandMapLayer implements ContextMenuLayer.ICon
|
|||
preferredLang = app.getLanguage();
|
||||
}
|
||||
showWiki(ctx, app, a, preferredLang);
|
||||
} else {
|
||||
String d = OsmAndFormatter.getAmenityDescriptionContent(app, a, false);
|
||||
SpannableString spannable = new SpannableString(d);
|
||||
Linkify.addLinks(spannable, Linkify.ALL);
|
||||
|
||||
Builder bs = new AlertDialog.Builder(ctx);
|
||||
bs.setTitle(OsmAndFormatter.getPoiStringWithoutType(a, lang));
|
||||
bs.setMessage(spannable);
|
||||
bs.setPositiveButton(R.string.shared_string_ok, null);
|
||||
AlertDialog dialog = bs.show();
|
||||
// Make links clickable
|
||||
TextView textView = (TextView) dialog.findViewById(android.R.id.message);
|
||||
textView.setMovementMethod(LinkMovementMethod.getInstance());
|
||||
textView.setLinksClickable(true);
|
||||
}
|
||||
}
|
||||
|
||||
public static void showDescriptionDialog(Context ctx, OsmandApplication app, String text, String textPrefix) {
|
||||
showText(ctx, app, text, textPrefix);
|
||||
}
|
||||
|
||||
static int getResIdFromAttribute(final Context ctx, final int attr) {
|
||||
if (attr == 0)
|
||||
return 0;
|
||||
|
@ -356,7 +346,7 @@ public class POIMapLayer extends OsmandMapLayer implements ContextMenuLayer.ICon
|
|||
bottomBar.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
String article = "http://"+langSelected.toLowerCase()+".wikipedia.org/wiki/" + title.replace(' ', '_');
|
||||
String article = "https://" + langSelected.toLowerCase() + ".wikipedia.org/wiki/" + title.replace(' ', '_');
|
||||
Intent i = new Intent(Intent.ACTION_VIEW);
|
||||
i.setData(Uri.parse(article));
|
||||
ctx.startActivity(i);
|
||||
|
@ -409,9 +399,52 @@ public class POIMapLayer extends OsmandMapLayer implements ContextMenuLayer.ICon
|
|||
|
||||
dialog.setCancelable(true);
|
||||
dialog.show();
|
||||
// wv.setWebViewClient();
|
||||
}
|
||||
|
||||
private static void showText(final Context ctx, final OsmandApplication app, final String text,String textPrefix) {
|
||||
final Dialog dialog = new Dialog(ctx,
|
||||
app.getSettings().isLightContent() ? R.style.OsmandLightTheme : R.style.OsmandDarkTheme);
|
||||
|
||||
LinearLayout ll = new LinearLayout(ctx);
|
||||
ll.setOrientation(LinearLayout.VERTICAL);
|
||||
|
||||
final Toolbar topBar = new Toolbar(ctx);
|
||||
topBar.setClickable(true);
|
||||
Drawable back = app.getIconsCache().getIcon(R.drawable.abc_ic_ab_back_mtrl_am_alpha);
|
||||
topBar.setNavigationIcon(back);
|
||||
topBar.setTitle(textPrefix);
|
||||
topBar.setBackgroundColor(ctx.getResources().getColor(getResIdFromAttribute(ctx, R.attr.pstsTabBackground)));
|
||||
topBar.setTitleTextColor(ctx.getResources().getColor(getResIdFromAttribute(ctx, R.attr.pstsTextColor)));
|
||||
topBar.setNavigationOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(final View v) {
|
||||
dialog.dismiss();
|
||||
}
|
||||
});
|
||||
|
||||
final TextView textView = new TextView(ctx);
|
||||
LinearLayout.LayoutParams llTextParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
|
||||
int textMargin = dpToPx(app, 10f);
|
||||
boolean light = app.getSettings().isLightContent();
|
||||
textView.setLayoutParams(llTextParams);
|
||||
textView.setPadding(textMargin, textMargin, textMargin, textMargin);
|
||||
textView.setTextSize(16);
|
||||
textView.setTextColor(app.getResources().getColor(light ? R.color.ctx_menu_info_text_light : R.color.ctx_menu_info_text_dark));
|
||||
textView.setAutoLinkMask(Linkify.ALL);
|
||||
textView.setLinksClickable(true);
|
||||
textView.setText(text);
|
||||
|
||||
ScrollView scrollView = new ScrollView(ctx);
|
||||
ll.addView(topBar);
|
||||
LayoutParams lp = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, 0);
|
||||
lp.weight = 1;
|
||||
ll.addView(scrollView, lp);
|
||||
scrollView.addView(textView);
|
||||
|
||||
dialog.setContentView(ll);
|
||||
dialog.setCancelable(true);
|
||||
dialog.show();
|
||||
}
|
||||
|
||||
protected static void showPopupLangMenu(final Context ctx, Toolbar tb,
|
||||
final OsmandApplication app, final Amenity a, final Dialog dialog) {
|
||||
|
@ -500,5 +533,12 @@ public class POIMapLayer extends OsmandMapLayer implements ContextMenuLayer.ICon
|
|||
public void routeWasCancelled() {
|
||||
}
|
||||
|
||||
|
||||
public static int dpToPx(Context ctx, float dp) {
|
||||
Resources r = ctx.getResources();
|
||||
return (int) TypedValue.applyDimension(
|
||||
COMPLEX_UNIT_DIP,
|
||||
dp,
|
||||
r.getDisplayMetrics()
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue