This commit is contained in:
GaidamakUA 2015-11-02 11:05:49 +02:00
commit 3e69b1b5f7
81 changed files with 1826 additions and 974 deletions

View file

@ -162,7 +162,8 @@ public class BinaryMapIndexReader {
switch (tag) {
case 0:
if(!initCorrectly){
throw new IOException("Corrupted file. It should be ended as it starts with version"); //$NON-NLS-1$
//throw new IOException("Corrupted file. It should be ended as it starts with version"); //$NON-NLS-1$
throw new IOException("Corrupt file, it should have ended as it starts with version: " + file.getName()); //$NON-NLS-1$
}
return;
case OsmandOdb.OsmAndStructure.VERSION_FIELD_NUMBER :

View file

@ -290,6 +290,7 @@ public class MapPoiTypes {
for(String lng : MapRenderingTypes.langs) {
parsePoiAdditional(parser, lastCategory, lastFilter, lastType, lng);
}
parsePoiAdditional(parser, lastCategory, lastFilter, lastType, "en");
}
parsePoiAdditional(parser, lastCategory, lastFilter, lastType, null);
} else if (name.equals("poi_type")) {

View file

@ -44,6 +44,7 @@
\n\tHarry van der Wolf - contributor (contribute to country boundaries + configuration file + address files and else), active forum participant.
</string>
<string name="app_edition"></string>
<string name="support_email">support@osmand.net</string>
<string name="preferred_locale_no_translate">Display language</string>
<string name="system_locale_no_translate">Device language</string>
<string name="osmo">OsMo</string>

View file

@ -1,5 +1,4 @@
<?xml version='1.0' encoding='utf-8'?>
<resources><string name="auto_zoom_none">Без аўтаматычнага маштабаваньня</string>
<?xml version="1.0" encoding="utf-8" standalone="no"?><resources><string name="auto_zoom_none">Без аўтаматычнага маштабаваньня</string>
<string name="auto_zoom_close">Буйней</string>
<string name="auto_zoom_far">Для сярэдняга маштаба</string>
<string name="auto_zoom_farthest">Драбней</string>
@ -1971,4 +1970,4 @@
<string name="shared_string_qr_code">QR-код</string>
<string name="map_downloaded">Мапа сьцягнутая</string>
<string name="poll">галасаваньне</string>
</resources>
</resources>

View file

@ -1,5 +1,4 @@
<?xml version='1.0' encoding='utf-8'?>
<resources><string name="show_warnings_title">Mostra els missatges d\'avís…</string>
<?xml version="1.0" encoding="utf-8" standalone="no"?><resources><string name="show_warnings_title">Mostra els missatges d\'avís…</string>
<string name="map_widget_fluorescent">Rutes amb fluorescència</string>
<string name="map_widget_show_ruler">Mostra el regle</string>
<string name="map_widget_transparent">Aparença amb transparència</string>
@ -1979,7 +1978,7 @@ Per retornar a l\'estil habitual dels mapes d\'OsmAnd, només cal desactivar aqu
<string name="share_geo">geo:</string>
<string name="share_menu_location">Comparteix la posició</string>
<string name="shared_string_send">Envia</string>
<string name="hello_blank_fragment">Hola fragment buit</string>
<string name="application_dir_description">Trieu on voleu desar els fitxers de mapes.</string>
<string name="shared_string_qr_code">Codi QR</string>
<string name="map_downloaded">Mapa baixat</string>
@ -1988,4 +1987,4 @@ Per retornar a l\'estil habitual dels mapes d\'OsmAnd, només cal desactivar aqu
<string name="world_map_download_descr">El mapa base mundial (que abasta el món sencer però amb poca ampliació) no es troba o està malmès. Considereu baixar-lo per una operació completa.</string>
<string name="show_on_start_description">Si es desactiva s\'engega amb la pantalla del mapa</string>
<string name="enter_country_name">Indiqueu el nom del país</string>
</resources>
</resources>

View file

@ -1,5 +1,4 @@
<?xml version='1.0' encoding='utf-8'?>
<resources><string name="switch_to_raster_map_to_see">Vektorové mapy toto místo neobsahují. Mapová data můžete stáhnout v Nastaveních (Spravovat mapové soubory), nebo se přepněte na online mapy.</string>
<?xml version="1.0" encoding="utf-8" standalone="no"?><resources><string name="switch_to_raster_map_to_see">Vektorové mapy toto místo neobsahují. Mapová data můžete stáhnout v Nastaveních (Spravovat mapové soubory), nebo se přepněte na online mapy.</string>
<string name="send_files_to_osm">Nahrát GPX soubory do OSM?</string>
<string name="gpx_visibility_txt">Viditelnost</string>
@ -1993,22 +1992,22 @@
<string name="go_to_map">Přejít na mapu</string>
<string name="show_free_version_banner">Zobrazit banner volné verze</string>
<string name="show_free_version_banner_description">I když používáte placenou verzi, můžete vidět banner volné verze</string>
<string name="hello_blank_fragment">Prázdný fragment</string>
<string name="enter_country_name">Vložte název země</string>
<string name="new_version">Nová verze</string>
<string name="begin_with_osmand_menu_group">Začněte s OsmAnd</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="other_menu_group">Další</string>
<string name="plugins_menu_group">Moduly</string>
<string name="first_usage_item">První použití</string>
<string name="first_usage_item_description">Jak stáhnout mapu, základní nastavení</string>
<string name="first_usage_item_description">Jak stahovat mapy, provést základní nastavení</string>
<string name="navigation_item_description">Nastavení navigace</string>
<string name="faq_item">Často kladené dotazy</string>
<string name="faq_item_description">Jak použít moduly</string>
<string name="map_viewing_item">Prohlížení mapy</string>
<string name="search_on_the_map_item">Hledání na mapě</string>
<string name="planning_trip_item">Plánování cest</string>
<string name="planning_trip_item">Plánování cesty</string>
<string name="contour_lines_and_hillshade_maps_item">Vrstevnice a stínování kopců</string>
<string name="trip_recording_tool_item">Nástroj na záznam cest</string>
<string name="osmand_ski_maps_item">OsmAnd lyžařské mapy</string>
@ -2018,6 +2017,8 @@
<string name="instalation_troubleshooting_item">Instalace a řešení problémů</string>
<string name="techical_articles_item">Technické články</string>
<string name="versions_item">Verze</string>
<string name="poll">hlasování</string>
<string name="poll">Anketa</string>
<string name="contact_us">Kontaktujte nás</string>
</resources>
<string name="osm_edit_created_poi">Vytvořen OSM POI</string>
<string name="osm_edit_created_bug">Vytvořena OSM chyba</string>
</resources>

View file

@ -1732,7 +1732,7 @@
<string name="poi_memorial_koshinto">Koshinto</string>
<string name="poi_memorial_blue_plaque">"Blå plakette"</string>
<string name="poi_memorial_jizo">Jizo</string>
<string name="poi_memorial_cross">Kors</string>
<string name="poi_memorial_cross">Korsformet</string>
<string name="poi_memorial_vehicle">Køretøj</string>
<string name="poi_memorial_obelisk">Obelisk</string>
@ -2393,7 +2393,7 @@
<string name="poi_historic_gallows">Historisk galge</string>
<string name="poi_historic_railway">Historisk jernbane</string>
<string name="poi_square">Torv</string>
<string name="poi_square">Plads</string>
<string name="poi_building_type_church">Bygningstype: kirke</string>
<string name="poi_building_type_chapel">Bygningstype: kapel</string>
@ -2403,6 +2403,23 @@
<string name="poi_building_type_monastery">Bygningstype: kloster</string>
<string name="poi_building_type_basilica">Bygningstype: basilika</string>
<string name="poi_building_type_synagogue">Bygningstype: synagoge</string>
<string name="poi_building_type_shrine">Bygningstype: skrin</string>
<string name="poi_building_type_shrine">Bygningstype: helgenskrin</string>
<string name="poi_artist_name">Kunstner</string>
<string name="poi_sculptor">Billedhugger</string>
<string name="poi_cross">Kors</string>
<string name="poi_summit_cross">Topkors: ja</string>
<string name="poi_prison_camp">Fangelejr</string>
<string name="poi_concentration_camp">Type: koncentrationslejr</string>
<string name="poi_pow_camp">Type: krigsfangelejr</string>
<string name="poi_labor_camp">Type: arbejdslejr</string>
<string name="poi_concentration_camp_nazism">Type: nazistisk</string>
<string name="poi_concentration_camp_gulag">Type: gulag</string>
<string name="poi_temperature">Temperatur</string>
<string name="poi_bathing_yes">Badning: ja</string>
<string name="poi_bathing_no">Badning: nej</string>
</resources>

View file

@ -1,5 +1,4 @@
<?xml version='1.0' encoding='utf-8'?>
<resources>
<?xml version="1.0" encoding="utf-8" standalone="no"?><resources>
<string name="srtm_paid_version_msg">Overvej at købe Højdekurve udvidelsen (\'Contour lines\') på Google Play for at støtte den videre udvikling.</string>
<string name="av_def_action_video">Optag video</string>
<string name="av_def_action_audio">Optag audio</string>
@ -1992,7 +1991,7 @@
<string name="simulate_initial_startup">Simuler første programstart</string>
<string name="share_menu_location">Del placering</string>
<string name="shared_string_send">Send</string>
<string name="hello_blank_fragment">Hej tomme fragment</string>
<string name="application_dir_description">Vælg hvor kortfilerne skal gemmes.</string>
<string name="show_on_start_description">\'Fra\' starter direkte på kortet</string>
<string name="map_downloaded">Kort hentet</string>
@ -2000,23 +1999,23 @@
<string name="go_to_map">Gå til kortet</string>
<string name="shared_string_qr_code">QR kode</string>
<string name="enter_country_name">Indtast landenavn</string>
<string name="world_map_download_descr">Verdensgrundkort (dækker hele verden ved lave zoomniveauer) mangler eller er forældet. Overvej at hente verdensgrundkort for et komplet miljø.</string>
<string name="world_map_download_descr">Verdensgrundkort (dækker hele verden ved lave zoomniveauer) mangler eller er forældet. Hent verdensgrundkortet for et komplet miljø.</string>
<string name="new_version">Ny version</string>
<string name="begin_with_osmand_menu_group">Start med Osmand</string>
<string name="begin_with_osmand_menu_group">Kom godt i gang med OsmAnd</string>
<string name="features_menu_group">Funktioner</string>
<string name="help_us_to_improve_menu_group">Hjælp med at forbedre OsmAnd</string>
<string name="other_menu_group">Andet</string>
<string name="plugins_menu_group">Udvidelser</string>
<string name="first_usage_item">Første brug</string>
<string name="first_usage_item_description">Hvordan man henter kort og grundlæggende indstillinger</string>
<string name="first_usage_item">Første anvendelse</string>
<string name="first_usage_item_description">Sådan hentes kort og angives grundlæggende indstillinger</string>
<string name="navigation_item_description">Opsætning af navigation</string>
<string name="faq_item">Spørgsmål og svar</string>
<string name="faq_item_description">Hvordan man bruger udvidelser</string>
<string name="map_viewing_item">Kortvisning</string>
<string name="search_on_the_map_item">Søg på kortet</string>
<string name="search_on_the_map_item">Søgning på kortet</string>
<string name="planning_trip_item">Turplanlægning</string>
<string name="contour_lines_and_hillshade_maps_item">Højdekurver og reliefoverlejring</string>
<string name="trip_recording_tool_item">Tur optagelse værktøj</string>
<string name="trip_recording_tool_item">Turoptagelse</string>
<string name="osmand_ski_maps_item">Skikort</string>
<string name="nautical_charts_item">Søkort</string>
<string name="audio_video_note_item">Audio-/videonoter</string>
@ -2026,4 +2025,6 @@
<string name="versions_item">Versioner</string>
<string name="poll">Meningsmåling</string>
<string name="contact_us">Kontakt os</string>
</resources>
<string name="osm_edit_created_poi">Oprettede OSM IP</string>
<string name="osm_edit_created_bug">Oprettede OSM fejlregistrering</string>
</resources>

View file

@ -230,7 +230,7 @@
<string name="poi_lighthouse">Faro</string>
<string name="poi_bicycle_rental">Alquiler de bicicletas</string>
<string name="poi_bicycle_parking">Bicicletero / Guardería</string>
<string name="poi_bicycle_parking">Bicicletero/Guardería</string>
<string name="poi_aerialway_station">Estación de transporte elevado</string>
<string name="poi_aerialway_cable_car">Teleférico</string>
@ -288,7 +288,7 @@
<string name="poi_quarry">Cantera</string>
<string name="poi_vineyard">Viñedo</string>
<string name="poi_orchard">Huerto</string>
<string name="poi_allotments">Parcelas</string>
<string name="poi_allotments">Huertos comunitarios</string>
<string name="poi_forest">Bosque forestal</string>
<string name="poi_farmyard">Granja</string>
<string name="poi_meadow">Prado</string>
@ -345,7 +345,7 @@
<string name="poi_quarter">Distrito</string>
<string name="poi_neighbourhood">Vecindario</string>
<string name="poi_locality">Paraje</string>
<string name="poi_place_allotments">Parcelas</string>
<string name="poi_place_allotments">Huertos comunitarios</string>
<string name="poi_place_farm">Granja</string>
<string name="poi_residential">Área residencial</string>
@ -608,7 +608,7 @@
<string name="poi_bench">"Banco (asiento) "</string>
<string name="poi_swimming_pool">Piscina</string>
<string name="poi_water_park">Parque acuático</string>
<string name="poi_park">Parque / Plaza</string>
<string name="poi_park">Parque/Plaza</string>
<string name="poi_recreation_ground">Zona recreativa</string>
<string name="poi_village_green">Zona verde</string>
<string name="poi_trail_riding_station">Estación de equitación</string>
@ -1156,7 +1156,7 @@
<string name="poi_bunker_silo">Silo bunker</string>
<string name="poi_content_slurry">Contenido: Mezcla</string>
<string name="poi_brownfield">Suelo abandonado urbanizable</string>
<string name="poi_greenfield">Suelo urbanizable</string>
<string name="poi_greenfield">Suelo virgen urbanizable</string>
<string name="poi_wholesale">Venta mayorista</string>
<string name="poi_trade_building_supplies">Materiales de construcción</string>
@ -1334,7 +1334,7 @@
<string name="poi_grassland">Pastizal</string>
<string name="poi_scrub">Maleza</string>
<string name="poi_farmland">Suelo de cultivo</string>
<string name="poi_logging">Inicio de sesión</string>
<string name="poi_logging">Tala de árboles</string>
<string name="poi_sand">Arena</string>
<string name="poi_dead_wood">Bosque muerto</string>
@ -1703,7 +1703,7 @@
<string name="poi_memorial_stele">Estrella</string>
<string name="poi_memorial_bust">Busto</string>
<string name="poi_memorial_blue_plaque">Placa azul</string>
<string name="poi_memorial_cross">Cruz</string>
<string name="poi_memorial_cross">Crucero (monumento)</string>
<string name="poi_memorial_vehicle">Vehículo</string>
<string name="poi_memorial_obelisk">Obelisco</string>
@ -2086,7 +2086,7 @@
<string name="poi_clothes_oversize">Ropa de grandes tamaños</string>
<string name="poi_clothes_schoolwear">Ropa escolar</string>
<string name="poi_clothes_swimwear">Trajes de baño</string>
<string name="poi_clothes_socks">Medias / Calcetines</string>
<string name="poi_clothes_socks">Medias/Calcetines</string>
<string name="poi_clothes_shirts">Camisas</string>
<string name="poi_clothes_dance">Ropa de baile</string>
<string name="poi_clothes_military">Ropa militar</string>
@ -2382,4 +2382,21 @@
<string name="poi_building_type_synagogue">Edificación: Sinagoga</string>
<string name="poi_building_type_shrine">Edificación: Santuario</string>
<string name="poi_artist_name">Artista</string>
<string name="poi_sculptor">Escultor</string>
<string name="poi_cross">Cruz</string>
<string name="poi_summit_cross">Cumbre a la cruz: Si</string>
<string name="poi_prison_camp">Campamento de prisioneros</string>
<string name="poi_concentration_camp">Tipo: Campo de concentración</string>
<string name="poi_pow_camp">Tipo: Prisioneros de guerra</string>
<string name="poi_labor_camp">Tipo: Trabajos forzados</string>
<string name="poi_concentration_camp_nazism">Tipo: Nazi</string>
<string name="poi_concentration_camp_gulag">Tipo: Gulag</string>
<string name="poi_temperature">Temperatura</string>
<string name="poi_bathing_yes">Permitido bañarse</string>
<string name="poi_bathing_no">Prohibido bañarse</string>
</resources>

View file

@ -1,5 +1,4 @@
<?xml version='1.0' encoding='utf-8'?>
<resources><string name="rendering_attr_hideHouseNumbers_name">Ocultar números de casa</string>
<?xml version="1.0" encoding="utf-8" standalone="no"?><resources><string name="rendering_attr_hideHouseNumbers_name">Ocultar números de casa</string>
<string name="copying_osmand_file_failed">Falló al copiar archivos</string>
<string name="storage_directory_external">Almacenamiento externo</string>
<string name="storage_directory_multiuser">Almacenamiento multiusuario</string>
@ -1984,7 +1983,7 @@
<string name="share_menu_location">Compartir ubicación</string>
<string name="shared_string_send">Enviar</string>
<string name="application_dir_description">Elija donde guardar los archivos de los mapas.</string>
<string name="hello_blank_fragment">Hola fragmento vacío</string>
<string name="show_on_start_description">\'No\', inicia directamente la pantalla del mapa</string>
<string name="map_downloaded">Mapa descargado</string>
<string name="map_downloaded_descr">Se descargó el mapa de %1$s. Vuelve al mapa para empezar a usarlo.</string>
@ -1993,18 +1992,18 @@
<string name="enter_country_name">Escriba el nombre del país</string>
<string name="world_map_download_descr">El mapa base mundial (abarca todo el mundo en acercamientos pequeños), falta o está desactualizado. Considere descargarlo para un entorno completo.</string>
<string name="new_version">Nueva versión</string>
<string name="begin_with_osmand_menu_group">Iniciar con OsmAnd</string>
<string name="begin_with_osmand_menu_group">Primeros pasos con OsmAnd</string>
<string name="features_menu_group">Características</string>
<string name="help_us_to_improve_menu_group">Ayúdanos a mejorar OsmAnd</string>
<string name="other_menu_group">Otros</string>
<string name="plugins_menu_group">Complementos</string>
<string name="first_usage_item">Primer uso</string>
<string name="first_usage_item_description">Cómo descargar el mapa, ajustes básicos</string>
<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="map_viewing_item">Vista del mapa</string>
<string name="search_on_the_map_item">Buscar en el Mapa</string>
<string name="search_on_the_map_item">Busqueda en el mapa</string>
<string name="planning_trip_item">Planificación de viaje</string>
<string name="contour_lines_and_hillshade_maps_item">Mapas de curvas de nivel y sombreado</string>
<string name="trip_recording_tool_item">Herramienta de grabación de viaje</string>
@ -2017,4 +2016,6 @@
<string name="versions_item">Versiones</string>
<string name="poll">Encuesta</string>
<string name="contact_us">Contáctenos</string>
</resources>
<string name="osm_edit_created_poi">PDI de OSM creado</string>
<string name="osm_edit_created_bug">Reporte de OSM creado</string>
</resources>

View file

@ -155,7 +155,7 @@
<string name="poi_lighthouse">Faro</string>
<string name="poi_bicycle_rental">Alquiler de bicicletas</string>
<string name="poi_bicycle_parking">Bicicletero / Guardería</string>
<string name="poi_bicycle_parking">Bicicletero/Guardería</string>
<string name="poi_aerialway_gondola">Góndola</string>
<string name="poi_tunnel">Túnel</string>
@ -480,7 +480,7 @@
<string name="poi_quarry">Cantera</string>
<string name="poi_vineyard">Viñedo</string>
<string name="poi_allotments">Parcelas</string>
<string name="poi_allotments">Huertos comunitarios</string>
<string name="poi_forest">Bosque forestal</string>
<string name="poi_landuse_railway">Área ferroviaria</string>
@ -503,7 +503,7 @@
<string name="poi_tax_inspection">Inspecciones fiscales</string>
<string name="poi_customs">Aduanas</string>
<string name="poi_isolated_dwelling">Vivienda aislada</string>
<string name="poi_place_allotments">Parcelas</string>
<string name="poi_place_allotments">Huertos comunitarios</string>
<string name="poi_first_aid">Primeros auxilios</string>
<string name="poi_nursing_home">Residencia de ancianos</string>
<string name="poi_audiologist">Audiólogo</string>
@ -1158,8 +1158,8 @@
<string name="poi_content_salt">Contenido: Sal</string>
<string name="poi_content_grain">Contenido: Granos</string>
<string name="poi_brownfield">Terreno abandonado urbanizable</string>
<string name="poi_greenfield">Suelo urbanizable</string>
<string name="poi_brownfield">Suelo abandonado urbanizable</string>
<string name="poi_greenfield">Suelo virgen urbanizable</string>
<string name="poi_wholesale">Venta mayorista</string>
<string name="poi_trade_building_supplies">Materiales de construcción</string>
@ -1347,7 +1347,7 @@
<string name="poi_horse_riding">Equitación</string>
<string name="poi_heath">Brezal</string>
<string name="poi_logging">Inicio de sesión</string>
<string name="poi_logging">Tala de árboles</string>
<string name="poi_windfall">Fruto caído</string>
<string name="poi_rtsa_scale">Escala RTSA</string>
@ -1720,7 +1720,7 @@
<string name="poi_memorial_koshinto">Koshinto</string>
<string name="poi_memorial_blue_plaque">Placa azul</string>
<string name="poi_memorial_jizo">Jizo</string>
<string name="poi_memorial_cross">Cruz</string>
<string name="poi_memorial_cross">Crucero (monumento)</string>
<string name="poi_historic_quarry">Cantera histórica</string>
<string name="poi_resource_aggregate">Agregado</string>
@ -2091,7 +2091,7 @@
<string name="poi_clothes_oversize">Ropa de grandes tamaños</string>
<string name="poi_clothes_schoolwear">Ropa escolar</string>
<string name="poi_clothes_swimwear">Trajes de baño</string>
<string name="poi_clothes_socks">Medias / Calcetines</string>
<string name="poi_clothes_socks">Medias/Calcetines</string>
<string name="poi_clothes_shirts">Camisas</string>
<string name="poi_clothes_dance">Ropa de baile</string>
<string name="poi_clothes_military">Ropa militar</string>
@ -2386,4 +2386,21 @@
<string name="poi_square">Plaza</string>
</resources>
<string name="poi_artist_name">Artista</string>
<string name="poi_sculptor">Escultor</string>
<string name="poi_cross">Cruz</string>
<string name="poi_summit_cross">Cumbre a la cruz: Si</string>
<string name="poi_prison_camp">Campamento de prisioneros</string>
<string name="poi_concentration_camp">Tipo: Campo de concentración</string>
<string name="poi_pow_camp">Tipo: Prisioneros de guerra</string>
<string name="poi_labor_camp">Tipo: Trabajos forzados</string>
<string name="poi_concentration_camp_nazism">Tipo: Nazi</string>
<string name="poi_concentration_camp_gulag">Tipo: Gulag</string>
<string name="poi_temperature">Temperatura</string>
<string name="poi_bathing_yes">Permitido bañarse</string>
<string name="poi_bathing_no">Prohibido bañarse</string>
</resources>

View file

@ -1,5 +1,4 @@
<?xml version='1.0' encoding='utf-8'?>
<resources>
<?xml version="1.0" encoding="utf-8" standalone="no"?><resources>
<string name="layer_map_appearance">Configurar pantalla</string>
<string name="show_lanes">Mostrar carriles</string>
@ -2131,7 +2130,7 @@
<string name="share_geo">geo:</string>
<string name="share_menu_location">Compartir ubicación</string>
<string name="shared_string_send">Enviar</string>
<string name="hello_blank_fragment">Hola fragmento vacío</string>
<string name="application_dir_description">Elige donde guardar los archivos de los mapas.</string>
<string name="show_on_start_description">\'No\', inicia directamente en la pantalla del mapa</string>
<string name="map_downloaded">Mapa descargado</string>
@ -2141,19 +2140,19 @@
<string name="enter_country_name">Ingrese nombre del país</string>
<string name="world_map_download_descr">El mapa base mundial (abarca todo el mundo en acercamientos pequeños), falta o está desactualizado. Considere descargarlo para un entorno completo.</string>
<string name="new_version">Nueva versión</string>
<string name="begin_with_osmand_menu_group">Iniciar con OsmAnd</string>
<string name="begin_with_osmand_menu_group">Primeros pasos con OsmAnd</string>
<string name="features_menu_group">Características</string>
<string name="help_us_to_improve_menu_group">Ayúdanos a mejorar OsmAnd</string>
<string name="other_menu_group">Otros</string>
<string name="plugins_menu_group">Complementos</string>
<string name="first_usage_item">Primer uso</string>
<string name="first_usage_item_description">Cómo descargar el mapa, ajustes básicos</string>
<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="map_viewing_item">Vista del mapa</string>
<string name="search_on_the_map_item">Buscar en el Mapa</string>
<string name="planning_trip_item">Planificación de viaje</string>
<string name="search_on_the_map_item">Búsqueda en el mapa</string>
<string name="planning_trip_item">Planeando un viaje</string>
<string name="contour_lines_and_hillshade_maps_item">Mapas de curvas de nivel y sombreado</string>
<string name="trip_recording_tool_item">Herramienta de grabación de viaje</string>
<string name="osmand_ski_maps_item">Mapas de esquí de OsmAnd</string>
@ -2165,4 +2164,6 @@
<string name="versions_item">Versiones</string>
<string name="poll">Encuesta</string>
<string name="contact_us">Contáctenos</string>
</resources>
<string name="osm_edit_created_poi">PDI de OSM creado</string>
<string name="osm_edit_created_bug">Nota de OSM creada</string>
</resources>

View file

@ -1,5 +1,4 @@
<?xml version='1.0' encoding='utf-8'?>
<resources><string name="offline_edition">Modifications hors-ligne</string>
<?xml version="1.0" encoding="utf-8" standalone="no"?><resources><string name="offline_edition">Modifications hors-ligne</string>
<string name="offline_edition_descr">Toujours utiliser l\'édition hors-ligne</string>
<string name="update_poi_does_not_change_indexes">Les modifications de PI dans l\'application sont sans effet sur les cartes téléchargées, les modifications sont enregistrées dans un fichier.</string>
@ -2069,7 +2068,7 @@ Afghanistan, Albanie, Algérie, Allemagne, Andorre, Angola, Anguilla, Antigua-et
<string name="application_dir_description">Sélectionnez l\'emplacement pour enregistrer les cartes.</string>
<string name="simulate_initial_startup">Simuler un premier démarrage</string>
<string name="simulate_initial_startup_descr">Efface le compteur de démarrages afin de simuler un premier démarrage (conserve tous les autres paramètres)</string>
<string name="hello_blank_fragment">Hello fragment vide</string>
<string name="show_on_start_description">Si inactif démarre l\'application en mode carte</string>
<string name="map_downloaded">Carte téléchargée</string>
<string name="go_to_map">Aller à la carte</string>
@ -2078,18 +2077,18 @@ Afghanistan, Albanie, Algérie, Allemagne, Andorre, Angola, Anguilla, Antigua-et
<string name="enter_country_name">Saisissez le pays</string>
<string name="world_map_download_descr">La carte mondiale de base est manquante ou périmée. Merci de télécharger la carte mondiale de base afin que l\'application puisse fonctionner.</string>
<string name="new_version">Nouvelle version</string>
<string name="begin_with_osmand_menu_group">Débuter avec OsmAnd</string>
<string name="begin_with_osmand_menu_group">Premiers pas avec OsmAnd</string>
<string name="features_menu_group">Fonctionnalités</string>
<string name="help_us_to_improve_menu_group">Aidez-nous à améliorer OsmAnd</string>
<string name="other_menu_group">Divers</string>
<string name="plugins_menu_group">Greffons</string>
<string name="first_usage_item">Première utilisation</string>
<string name="first_usage_item_description">Comment télécharger des cartes et paramétrages de base</string>
<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="map_viewing_item">Affichage de la carte</string>
<string name="search_on_the_map_item">Rechercher dans la carte</string>
<string name="search_on_the_map_item">Rechercher de carte</string>
<string name="planning_trip_item">Préparer un trajet</string>
<string name="contour_lines_and_hillshade_maps_item">Cartes avec relief et courbes de niveau</string>
<string name="trip_recording_tool_item">Outil d\'enregistrement d\'un trajet</string>
@ -2099,7 +2098,9 @@ Afghanistan, Albanie, Algérie, Allemagne, Andorre, Angola, Anguilla, Antigua-et
<string name="instalation_troubleshooting_item">Installation et débogage</string>
<string name="techical_articles_item">Articles techniques</string>
<string name="versions_item">Versions</string>
<string name="poll">sondage</string>
<string name="poll">Sondage</string>
<string name="contact_us">Nous contacter</string>
<string name="audio_video_note_item">Notes audio / vidéo</string>
</resources>
<string name="osm_edit_created_poi">PI créés sur OSM</string>
<string name="osm_edit_created_bug">Bugs déclarés sur OSM</string>
</resources>

View file

@ -1,5 +1,4 @@
<?xml version='1.0' encoding='utf-8'?>
<resources>
<?xml version="1.0" encoding="utf-8" standalone="no"?><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>
@ -2018,4 +2017,4 @@
<string name="versions_item">Verziók</string>
<string name="poll">szavazás</string>
<string name="contact_us">Kapcsolat</string>
</resources>
</resources>

View file

@ -147,11 +147,11 @@
<string name="local_index_map_data">Dati mappa</string>
<string name="local_indexes_cat_backup">Disattivato</string>
<string name="local_indexes_cat_tts">Voci (TTS)</string>
<string name="local_indexes_cat_voice">Voce (registrata)</string>
<string name="local_indexes_cat_tts">Annunci vocali (TTS)</string>
<string name="local_indexes_cat_voice">Annunci vocali (registrata)</string>
<string name="local_indexes_cat_tile">Mappe online e a tasselli</string>
<string name="local_indexes_cat_map">Mappe offline (vettori)</string>
<string name="local_indexes_cat_map">Mappe standard (vettori)</string>
<string name="local_indexes_cat_poi">Dati PDI</string>
<string name="ttsvoice">Voce TTS</string>
<string name="search_offline_clear_search">Nuova Ricerca</string>
@ -982,8 +982,8 @@
<string name="rendering_attr_showRoadMaps_description">Seleziona quando visualizzare le mappe solo strade:</string>
<string name="rendering_attr_showRoadMaps_name">Mappe solo strade</string>
<string name="download_roads_only_item">Solo strade</string>
<string name="download_regular_maps">Mappe normali</string>
<string name="download_roads_only_maps">Mappe solo strade</string>
<string name="download_regular_maps">Mappe standard</string>
<string name="download_roads_only_maps">Mappa solo strade</string>
<string name="incomplete_locale">incompleto</string>
<string name="map_widget_max_speed">Limite di velocità</string>
@ -998,7 +998,7 @@
<string name="download_select_map_types">Altre mappe</string>
<string name="download_srtm_maps">Linee isocline</string>
<string name="srtm_plugin_name">Linee isocline</string>
<string name="srtm_plugin_description">"Questo plugin fornisce sia le curve di livello che lo strato ombreggiamento dei rilievi che possono essere visualizzati nelle mappe offline di OsmAnd. Questa funzionalità sarà molto apprezzata dagli atleti, dagli escursionisti, e tutti coloro che sono interessati all\'orografia e al paesaggio.\n\nI dati globali (fra i 70 gradi nord e 70 gradi sud) sono basati su misurazioni del SRTM (Shuttle Radar Topography Mission) e ASTER (Advanced Spaceborne Thermal Emission and Reflection Radiometer), lo strumento misuratore a bordo Terra, il satellite della NASA del sistema di osservazione della terra. ASTER è uno sforzo di cooperazione tra NASA, il Ministero dell\'Economia del Giappone, Commercio e Industria (METI) e sistema spaziale giapponese (J-spacesystems).
<string name="srtm_plugin_description">"Questo plugin fornisce sia le curve di livello che lo strato ombreggiamento dei rilievi che possono essere visualizzati sopra alle mappe standard di OsmAnd. Questa funzionalità sarà molto apprezzata dagli atleti, dagli escursionisti, e tutti coloro che sono interessati all\'orografia e al paesaggio.\n\nI dati globali (fra i 70 gradi nord e 70 gradi sud) sono basati su misurazioni del SRTM (Shuttle Radar Topography Mission) e ASTER (Advanced Spaceborne Thermal Emission and Reflection Radiometer), lo strumento misuratore a bordo Terra, il satellite della NASA del sistema di osservazione della terra. ASTER è uno sforzo di cooperazione tra NASA, il Ministero dell\'Economia del Giappone, Commercio e Industria (METI) e sistema spaziale giapponese (J-spacesystems).
\n\n\nFacilita il download delle linee di elevazione e l\'ombreggiamento dei rilievi (Impostazioni → Gestione file mappe → Download → Seleziona il tipo di mappa desiderato). "</string>
<string name="index_srtm_ele">Curve di livello</string>
<string name="audionotes_plugin_description">Il componente aggiuntivo note Audio/video fornisce la funzionalità per prendere note audio/video/foto durante il viaggio, usando pulsante sulla schermata della mappa, oppure direttamente nel menù contestuale per ogni posizione sulla mappa.</string>
@ -1008,7 +1008,7 @@
<string name="audionotes_location_not_defined">La posizione da associare con la nota non è ancora definita. \"Usa posizione ...\" per assegnare una nota alla posizione specificata</string>
<string name="osmand_srtm_short_description_80_chars">Plugin Osmand per le curve di livello offline</string>
<string name="osmand_srtm_long_description_1000_chars">"Questo plugin fornisce sia le curve di livello che lo strato ombreggiamento dei rilievi che possono essere visualizzate nelle mappe offline di OsmAnd. Questa funzionalità sarà molto apprezzata dagli atleti, dagli escursionisti, e tutti coloro che sono interessati all\'orografia e al paesaggio.\n\nI dati globali (fra i 70 gradi nord e 70 gradi sud) sono basati su misurazioni del SRTM (Shuttle Radar Topography Mission) e ASTER (Advanced Spaceborne Thermal Emission and Reflection Radiometer), lo strumento misuratore a bordo Terra, il satellite della NASA del sistema di osservazione della terra. ASTER è uno sforzo di cooperazione tra NASA, il Ministero dell\'Economia del Giappone, Commercio e Industria (METI) e sistema spaziale giapponese (J-spacesystems). "</string>
<string name="osmand_srtm_long_description_1000_chars">"Questo plugin fornisce sia le curve di livello che lo strato ombreggiamento dei rilievi che possono essere visualizzate nelle mappe normali di OsmAnd. Questa funzionalità sarà molto apprezzata dagli atleti, dagli escursionisti, e tutti coloro che sono interessati all\'orografia e al paesaggio.\n\nI dati globali (fra i 70 gradi nord e 70 gradi sud) sono basati su misurazioni del SRTM (Shuttle Radar Topography Mission) e ASTER (Advanced Spaceborne Thermal Emission and Reflection Radiometer), lo strumento misuratore a bordo Terra, il satellite della NASA del sistema di osservazione della terra. ASTER è uno sforzo di cooperazione tra NASA, il Ministero dell\'Economia del Giappone, Commercio e Industria (METI) e sistema spaziale giapponese (J-spacesystems). "</string>
<string name="map_widget_distancemeasurement">Misurazione della distanza</string>
@ -1058,7 +1058,7 @@
<string name="local_indexes_cat_av">Dati audio/video</string>
<string name="download_hillshade_maps">Sovrapposizioni ombreggiamento rilievi</string>
<string name="download_hillshade_maps">Ombreggiamento rilievi</string>
<string name="support_new_features_descr">Fai una donazione per avere nuove funzionalità implementate nell\'applicazione</string>
<string name="av_use_external_camera_descr">Usa l\'applicazione di sistema per le foto</string>
@ -1104,7 +1104,7 @@
<string name="install_paid">Versione completa</string>
<string name="use_magnetic_sensor_descr">Utilizza il sensore magnetico per determinare il valore della bussola invece del sensore di orientamento</string>
<string name="use_magnetic_sensor">Utilizza il sensore magnetico (bussola)</string>
<string name="local_indexes_cat_srtm">Dati isocline</string>
<string name="local_indexes_cat_srtm">Linee isocline</string>
<string name="use_kalman_filter_compass_descr">Riduce il rumore delle letture della bussola ma introduce dell\'inerzia</string>
<string name="use_kalman_filter_compass">Uso del filtro di Kalman</string>
<string name="access_mark_final_location_first">Modalità di accesso facilitato: selezionare prima la destinazione</string>
@ -1428,7 +1428,7 @@ Si consiglia di aggiungere uno o più punti intermedi per migliorarne le prestaz
<string name="osmo_show_group_notifications">Mostra le notifiche del gruppo</string>
<string name="osmo_show_group_notifications_descr">Mostra un messaggio popup quando l\'utente aderisce o lascia il gruppo</string>
<string name="osmo_show_group_notifications_descr">Mostra un messaggio di notifica quando l\'utente aderisce o lascia il gruppo</string>
<string name="gpx_file_is_empty">La traccia GPX è vuota</string>
<string name="gpx_info_start_time">Orario di partenza: %1$tF, %1$tT </string>
<string name="gpx_info_average_speed">Velocità media: %1$s </string>
@ -1851,7 +1851,7 @@ Si consiglia di aggiungere uno o più punti intermedi per migliorarne le prestaz
<string name="routing_attr_height_description">Specifica l\'altezza del veicolo che deve essere permessa sui percorsi</string>
<string name="use_fast_recalculation">Ricalcolo percorso intelligente</string>
<string name="use_fast_recalculation_desc">Ricalcola solo la prima parte del percorso per i viaggi lunghi</string>
<string name="osmo_share_my_location">Condividi la posizione</string>
<string name="osmo_share_my_location">Condividi la mia posizione</string>
<string name="shared_string_logoff">Esci</string>
<string name="rendering_value_disabled_name">Disabilitato</string>
<string name="rendering_value_walkingRoutesScopeOSMC_name">Colorazione in base al tipo di percorso</string>
@ -1984,7 +1984,7 @@ Si consiglia di aggiungere uno o più punti intermedi per migliorarne le prestaz
<string name="shared_string_trip_recording">Registrazione viaggio</string>
<string name="shared_string_navigation">Navigazione</string>
<string name="osmand_running_in_background">Avviato in backgroung</string>
<string name="default_speed_system_descr">Definsci l\'unità di misura della velocità</string>
<string name="default_speed_system_descr">Specifica l\'unità di misura della velocità</string>
<string name="default_speed_system">Misurazione della velocità</string>
<string name="nm">nm</string>
<string name="si_nm">Miglia nautiche</string>
@ -2010,7 +2010,7 @@ Si consiglia di aggiungere uno o più punti intermedi per migliorarne le prestaz
<string name="buy">ACQUISTA</string>
<string name="activate_srtm_plugin">Attiva il componente aggiuntivo SRTM</string>
<string name="later">In seguito</string>
<string name="get_full_version">Acquista la versione completa</string>
<string name="get_full_version">Versione completa</string>
<string name="activate_seamarks_plugin">Attiva il componente aggiuntivo Boe di segnalazione</string>
<string name="regions">Regioni</string>
@ -2029,9 +2029,42 @@ Si consiglia di aggiungere uno o più punti intermedi per migliorarne le prestaz
<string name="free_downloads_used_description">Puoi impostare quanti download gratuiti hai utilizzato</string>
<string name="share_geo">geo:</string>
<string name="shared_string_send">Invia</string>
<string name="simulate_initial_startup_descr">"Resetta l\'indicatore del primo avvio, non modificare tutte le altre impostazioni"</string>
<string name="simulate_initial_startup_descr">Imposta l\'indicatore del primo avvio dell\'app, mantiene tutte le altre impostazioni inalterate</string>
<string name="simulate_initial_startup">Simula il primo avvio dell\'app</string>
<string name="share_menu_location">Condivisi la posizione</string>
<string name="hello_blank_fragment">Pulisci il segmento</string>
<string name="share_menu_location">Condividi la posizione</string>
<string name="application_dir_description">Scegli dove vuoi salvare i file delle mappe.</string>
</resources>
<string name="osm_edit_created_poi">POI OSM creato</string>
<string name="osm_edit_created_bug">Errore OSM creato</string>
<string name="shared_string_qr_code">QR-code</string>
<string name="map_downloaded">Mappa scaricata</string>
<string name="map_downloaded_descr">Mappa di %1$s scaricata. Torna alla mappa per iniziare a utilizzarla.</string>
<string name="go_to_map">Vai alla mappa</string>
<string name="show_on_start_description">\'Spegni\' lancia direttamente la schermata della mappa</string>
<string name="enter_country_name">Immetti il nome della nazione</string>
<string name="new_version">Versione nuova</string>
<string name="begin_with_osmand_menu_group">Primi passi con OsmAnd</string>
<string name="features_menu_group">Caratteristiche</string>
<string name="help_us_to_improve_menu_group">Aiutaci a migliorare OsmAnd</string>
<string name="other_menu_group">Altro</string>
<string name="plugins_menu_group">Componenti aggiuntivi</string>
<string name="first_usage_item">Primo utilizzo</string>
<string name="first_usage_item_description">Come scaricare le mappe, imposta le impostazioni di baae</string>
<string name="navigation_item_description">Impostazioni di navigazione</string>
<string name="faq_item">FAQ</string>
<string name="faq_item_description">Come utilizzare i componenti aggiuntivi</string>
<string name="map_viewing_item">Visualizzazione mappa</string>
<string name="search_on_the_map_item">Ricerca sulla mappa</string>
<string name="planning_trip_item">Pianifica un viaggio</string>
<string name="contour_lines_and_hillshade_maps_item">Mappe linee di livello e ombreggiamento rilievi</string>
<string name="trip_recording_tool_item">Strumento registrazione viaggio</string>
<string name="osmand_ski_maps_item">Mappe sci OsmAnd</string>
<string name="nautical_charts_item">Carte nautiche</string>
<string name="audio_video_note_item">Note audio/video</string>
<string name="osm_editing_item">Modifiche OSM</string>
<string name="instalation_troubleshooting_item">Installazione e soluzione dei problemi</string>
<string name="techical_articles_item">Articoli tecnici</string>
<string name="versions_item">Versioni</string>
<string name="contact_us">Contattaci</string>
<string name="world_map_download_descr">La mappa di base (copertura mondiale a piccoli livelli di zoom) è mancante o non aggiornata. Valutate di scaricare la mappa mondiale di base per un ambiente completo.</string>
</resources>

View file

@ -505,14 +505,14 @@
<string name="poi_wilderness_hut">避難小屋(Wilderness hut)</string>
<string name="poi_place_of_worship">寺社・教会・モスク(Place of worship)</string>
<string name="poi_religion_christian">教会・礼拝堂:キリスト教(Place of worship: christian)</string>
<string name="poi_religion_jewish">礼拝所:ユダヤ教(Place of worship: jewish)</string>
<string name="poi_religion_muslim">モスク・礼拝堂(イスラム教)</string>
<string name="poi_religion_sikh">寺院:シク教(Place of worship: sikh)</string>
<string name="poi_religion_buddhist">寺院:仏教(Place of worship: buddhist)</string>
<string name="poi_religion_hindu">寺院:ヒンドゥー教(Place of worship: hindu)</string>
<string name="poi_religion_shinto">社・大社:神道(Place of worship: shinto)</string>
<string name="poi_religion_taoist">寺院:道教(Place of worship: taoist)</string>
<string name="poi_religion_christian">キリスト教(Сhristianity)</string>
<string name="poi_religion_jewish">ユダヤ教(Judaism)</string>
<string name="poi_religion_muslim">イスラム教(Islam)</string>
<string name="poi_religion_sikh">シク教(Sikhism)</string>
<string name="poi_religion_buddhist">仏教(Buddhism)</string>
<string name="poi_religion_hindu">ヒンドゥー教(Hinduism)</string>
<string name="poi_religion_shinto">道(Shinto)</string>
<string name="poi_religion_taoist">道教(Taoism)</string>
<string name="poi_internet_access_wlan">インターネット・無線LAN有り(Internet access: wlan)</string>
<string name="poi_internet_access_terminal">インターネット・接続端末有り(Internet access: terminal)</string>
@ -815,4 +815,139 @@
<string name="poi_aerialway_pylon">索道支柱(Aerial lift pylon)</string>
<string name="poi_breakwater">防波堤(Breakwater)</string>
<string name="poi_groyne">防波堤(Groyne)</string>
<string name="poi_power_cable_distribution_cabinet">分電盤・キュービクル(Cable distribution cabinet)</string>
<string name="poi_power_tower">送電鉄塔(Power tower)</string>
<string name="poi_power_pole">電柱(Power pole)</string>
<string name="poi_cooling_tower">冷却塔(Cooling tower)</string>
<string name="poi_lighting_tower">照明塔(Lighting tower)</string>
<string name="poi_recycling_centre">リサイクルセンター(Type: recycling centre)</string>
<string name="poi_recycling_container">リサイクル用コンテナ(Type: container)</string>
<string name="poi_recycling_glass">ガラス製品(Glass)</string>
<string name="poi_recycling_paper">紙類(Paper)</string>
<string name="poi_recycling_clothes">衣類(Clothes)</string>
<string name="poi_recycling_cans">空き缶(Cans)</string>
<string name="poi_recycling_glass_bottles">ガラス瓶(Glass bottles)</string>
<string name="poi_recycling_plastic">プラスチック(Plastic)</string>
<string name="poi_recycling_scrap_metal">鉄屑(Scrap metal)</string>
<string name="poi_recycling_batteries">家庭用電池(Batteries)</string>
<string name="poi_recycling_plastic_bottles">ペットボトル(Plastic bottles)</string>
<string name="poi_recycling_green_waste">木質系廃棄物(Green waste)</string>
<string name="poi_recycling_waste">リサイクル不能な一般ゴミ・黒いゴミ袋(Waste (black bags))</string>
<string name="poi_recycling_plastic_packaging">プラスチック包装(Plastic packaging)</string>
<string name="poi_recycling_newspaper">新聞紙(Newspaper)</string>
<string name="poi_recycling_cartons">飲食物用段ボール(Cartons)</string>
<string name="poi_recycling_cardboard">段ボール(Cardboard)</string>
<string name="poi_recycling_magazines">雑誌(Magazines)</string>
<string name="poi_recycling_paper_packaging">包装紙(Paper packaging)</string>
<string name="poi_recycling_small_appliances">小型家電製品(Small appliances)</string>
<string name="poi_recycling_wood">木材(Wood)</string>
<string name="poi_recycling_books">書籍(Books)</string>
<string name="poi_recycling_shoes">靴(Shoes)</string>
<string name="poi_recycling_aluminium">アルミニウム(Aluminium)</string>
<string name="poi_recycling_organic">生ごみ(Organic)</string>
<string name="poi_recycling_beverage_cartons">飲食物の紙パック(Beverage cartons)</string>
<string name="poi_recycling_garden_waste">木質系廃棄物(Garden waste)</string>
<string name="poi_recycling_low_energy_bulbs">蛍光灯型電球(Low energy bulbs)</string>
<string name="poi_recycling_fluorescent_tubes">蛍光管(Fluorescent tubes)</string>
<string name="poi_recycling_metal">金属(Metal)</string>
<string name="poi_recycling_electrical_items">大型家電製品(Electrical items)</string>
<string name="poi_recycling_white_goods">白物家電(White goods)</string>
<string name="poi_recycling_cooking_oil">食用油(Cooking oil)</string>
<string name="poi_recycling_engine_oil">エンジン油(Engine oil)</string>
<string name="poi_recycling_plastic_bags">ビニール袋(Plastic bags)</string>
<string name="poi_recycling_hazardous_waste">有害廃棄物(Hazardous waste)</string>
<string name="poi_recycling_mobile_phones">携帯電話(Mobile phones)</string>
<string name="poi_recycling_hydrargyrum">水銀(Hydrargyrum)</string>
<string name="poi_recycling_computers">コンピューター(Computers)</string>
<string name="poi_recycling_tyres">タイヤ(Tyres)</string>
<string name="poi_recycling_tv_monitor">テレビ、モニター類(TV, monitors)</string>
<string name="poi_recycling_tetrapak">食品用紙パック・テトラパック(Tetrapak)</string>
<string name="poi_recycling_rubble">廃材・瓦礫(Rubble)</string>
<string name="poi_recycling_cds">CD(CDs)</string>
<string name="poi_recycling_waste_oil">廃油(Waste oil)</string>
<string name="poi_recycling_bottles">ボトル(Bottles)</string>
<string name="poi_recycling_cork">コルク製品(Cork)</string>
<string name="poi_recycling_printer_cartridges">プリンターインクカートリッジ・トナー(Printer cartridges)</string>
<string name="poi_recycling_sheet_metal">鉄板(Sheet metal)</string>
<string name="poi_recycling_foil">アルミホイル・錫ホイル(Foil)</string>
<string name="poi_recycling_paint">ペンキ(Paint)</string>
<string name="poi_recycling_styrofoam">発泡スチロール(Styrofoam)</string>
<string name="poi_recycling_drugs">医薬品(Drugs)</string>
<string name="poi_recycling_compost">堆肥(Compost)</string>
<string name="poi_recycling_hardcore">廃材・瓦礫(Hardcore)</string>
<string name="poi_recycling_christmas_trees">クリスマスツリー(Christmas trees)</string>
<string name="poi_recycling_light_bulbs">電球(Light bulbs)</string>
<string name="poi_recycling_chipboard">合板(Chipboard)</string>
<string name="poi_recycling_polyester">ポリエステル(Polyester)</string>
<string name="poi_recycling_plasterboard">石膏ボード(Plasterboard)</string>
<string name="poi_recycling_animal_waste">動物廃棄物(Animal waste)</string>
<string name="poi_recycling_fridge_and_freezer">冷蔵庫、冷凍庫(Fridge and freezer)</string>
<string name="poi_recycling_furniture">家具(Furniture)</string>
<string name="poi_recycling_diapers">おむつ(Diapers)</string>
<string name="poi_recycling_car_batteries">車用バッテリー(Car batteries)</string>
<string name="poi_recycling_cars">車(Cars)</string>
<string name="poi_recycling_bicycles">自転車(Bicycles)</string>
<string name="poi_landfill_waste_nuclear">放射性廃棄物(Nuclear waste)</string>
<string name="poi_basin">調整池・貯水池(Basin)</string>
<string name="poi_conservation">自然環境保全地域(Conservation land)</string>
<string name="poi_monitoring_station">監視ステーション(Monitoring station)</string>
<string name="poi_crane">常設クレーン(Crane)</string>
<string name="poi_brownfield">整地済み用地(Brownfield)</string>
<string name="poi_greenfield">未整備用地(Greenfield)</string>
<string name="poi_bunker_silo">バンカーサイロ(Bunker silo)</string>
<string name="poi_country">国(Country)</string>
<string name="poi_capital">首都(Capital)</string>
<string name="poi_paediatrics">小児科(Paediatrics)</string>
<string name="poi_office_religion">宗教団体事務所(Religious office)</string>
<string name="poi_association">非営利団体事務所(Association office)</string>
<string name="poi_financial">財務事務所(Financial office)</string>
<string name="poi_political_party">政党事務所(Political party office)</string>
<string name="poi_notary">公証・法律事務所(Notary)</string>
<string name="poi_foundation">財団事務所(Foundation office)</string>
<string name="poi_tax_advisor">税理士事務所(Tax advisor office)</string>
<string name="poi_tourism_yes">観光名所(Touristic object)</string>
<string name="poi_religion_voodoo">ブードゥー教(Voodoo)</string>
<string name="poi_religion_unitarian_universalist">ユニテリアン ・ ユニヴァーサリズム(Unitarian universalism)</string>
<string name="poi_religion_multifaith">複合宗教(Multifaith)</string>
<string name="poi_religion_jain">ジャイナ教(Jainism)</string>
<string name="poi_religion_spiritualist">スピリチュア リズム(Spiritualism)</string>
<string name="poi_religion_bahai">バハイ教(Bahaism)</string>
<string name="poi_religion_scientologist">サイエントロジー(Scientologism)</string>
<string name="poi_religion_pagan">ペイガン(Paganism)</string>
<string name="poi_religion_tenrikyo">天理教(Tenrikyo)</string>
<string name="poi_religion_zoroastrian">ゾロアスター教(Zoroastrism)</string>
<string name="poi_denomination_catholic">カトリック(Catholic)</string>
<string name="poi_denomination_baptist">バプテスト(Baptist)</string>
<string name="poi_denomination_roman_catholic">ローマカトリック(Roman catholic)</string>
<string name="poi_denomination_orthodox">正教(Orthodox)</string>
<string name="poi_denomination_lutheran">ルター派・ルーテル(Lutheran)</string>
<string name="poi_denomination_sunni">スンニ派(Sunni)</string>
<string name="poi_denomination_protestant">プロテスタント(Protestant)</string>
<string name="poi_denomination_methodist">メソジスト(Methodist)</string>
<string name="poi_denomination_anglican">聖公会(Anglican)</string>
<string name="poi_denomination_presbyterian">長老派(Presbyterian)</string>
<string name="poi_denomination_evangelical">福音派(Evangelical)</string>
<string name="poi_denomination_russian_orthodox">ロシア正教(Russian orthodox)</string>
<string name="poi_denomination_pentecostal">ペンテコステ派(Pentecostal)</string>
<string name="poi_denomination_mormon">モルモン教(Mormon)</string>
<string name="poi_denomination_jehovahs_witness">エホバの証人(Jehovahs witness)</string>
<string name="poi_denomination_greek_orthodox">ギリシャ正教(Greek orthodox)</string>
<string name="poi_denomination_reformed">改革派(Reformed)</string>
<string name="poi_denomination_seventh_day_adventist">セブンスデーアドベンチスト・安息日再臨派(Seventh day adventist)</string>
<string name="poi_denomination_new_apostolic">新使徒教会(New apostolic)</string>
<string name="poi_denomination_church_of_england">英国聖公会(Church of england)</string>
<string name="poi_denomination_episcopal">米国聖公会(Episcopal)</string>
<string name="poi_denomination_shia">シーア派(Shia)</string>
<string name="poi_denomination_united">カナダ連合教会(United)</string>
<string name="poi_denomination_greek_catholic">東方典礼カトリック教会(Greek catholic)</string>
<string name="poi_denomination_united_reformed">アメリカ・オランダ改革派(United reformed)</string>
<string name="poi_denomination_church_of_scotland">スコットランド国教会(Church of Scotland)</string>
</resources>

View file

@ -1,5 +1,4 @@
<?xml version='1.0' encoding='utf-8'?>
<resources><string name="installing_new_resources">新しいデータを展開中…</string>
<?xml version="1.0" encoding="utf-8" standalone="no"?><resources><string name="installing_new_resources">新しいデータを展開中…</string>
<string name="internet_connection_required_for_online_route">オンライン経路案内を使用しようとしていますが
インターネット接続されていません。</string>
<string name="tts_language_not_supported_title">未サポート言語</string>
@ -2035,4 +2034,8 @@ POIの更新は利用できません</string>
<string name="update_all">全て更新(%1$s MB)</string>
<string name="free_downloads_used">使用済み無料ダウンロード枠</string>
<string name="free_downloads_used_description">使用する無料ダウンロード枠を設定できます</string>
</resources>
<string name="world_map_download_descr">基本世界地図(ズーム最小時世界中をカバーする為の物)が見当たらないか古くなっています。使用環境に対応した基本世界地図を再度ダウンロードしてください。</string>
<string name="shared_string_qr_code">QRコード</string>
<string name="map_downloaded_descr">%1$sのマップはダウンロード済みです。対応した地点を参照することでマップを使用できます。</string>
<string name="go_to_map">マップに移動します</string>
</resources>

View file

@ -1,5 +1,4 @@
<?xml version='1.0' encoding='utf-8'?>
<resources><string name="starting_point_too_far">Pradžios taškas yra per toli nuo artimiausio kelio.</string>
<?xml version="1.0" encoding="utf-8" standalone="no"?><resources><string name="starting_point_too_far">Pradžios taškas yra per toli nuo artimiausio kelio.</string>
<string name="shared_location">Bendrinta vieta</string>
<string name="osmand_parking_warning">Dėmesio</string>
<string name="osmand_parking_warning_text">Perspėjimas pasiimti automobilį jau buvo įtrauktas į jūsų kalendorių. Perspėjimas ten liks tol, kol jo nepanaikinsite.</string>
@ -2013,4 +2012,4 @@
<string name="audio_video_note_item">Garso/vaizdo pastabos</string>
<string name="techical_articles_item">Techniniai straipsniai</string>
<string name="poll">apklausa</string>
</resources>
</resources>

View file

@ -208,4 +208,8 @@
<string name="poi_historic_railway">Historisk jernbane</string>
</resources>
<string name="poi_bathing_no">Bading: nei</string>
<string name="poi_temperature">Temperatur</string>
<string name="poi_bathing_yes">Bading: ja</string>
</resources>

View file

@ -1,5 +1,4 @@
<?xml version='1.0' encoding='utf-8'?>
<resources><string name="rendering_attr_roadColors_description">Velg fargeskjema for veier:</string>
<?xml version="1.0" encoding="utf-8" standalone="no"?><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>
<string name="gps_not_available">Aktiver GPS i innstillingene</string>
@ -1433,15 +1432,15 @@
<string name="recent_places">Nylige steder</string>
<string name="saved_at_time">Vellykket lagret: %1$s</string>
<string name="new_version">Ny versjon</string>
<string name="begin_with_osmand_menu_group">Begynn med OsmAnd</string>
<string name="begin_with_osmand_menu_group">Første steg med OsmAnd</string>
<string name="features_menu_group">Funksjoner</string>
<string name="help_us_to_improve_menu_group">Hjelp oss å forbedre OsmAnd</string>
<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, grunnleggende innstillinger</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="map_viewing_item">Kartvisning</string>
<string name="search_on_the_map_item">Søk på kartet</string>
<string name="search_on_the_map_item">Kartsøking</string>
<string name="contour_lines_and_hillshade_maps_item">Kart med koter og relieffskygger</string>
<string name="osmand_ski_maps_item">OsmAnd skikart</string>
<string name="nautical_charts_item">Sjøkart</string>
@ -1449,4 +1448,5 @@
<string name="osm_editing_item">OSM-redigering</string>
<string name="versions_item">Versjoner</string>
<string name="contact_us">Kontakt oss</string>
</resources>
<string name="planning_trip_item">Planlegge en tur</string>
</resources>

View file

@ -1,5 +1,4 @@
<?xml version='1.0' encoding='utf-8'?>
<resources>
<?xml version="1.0" encoding="utf-8" standalone="no"?><resources>
<string name="layer_map_appearance">Configureer scherm</string>
<string name="show_lanes">Toon rijstroken</string>
@ -2112,4 +2111,4 @@ Afghanistan, Albanie, Algerije, Andorra, Angola, Anguilla, Antigua en Barbuda, A
<string name="map_downloaded_descr">De kaart van %1$s is gedownload en kan nu worden gebruikt.</string>
<string name="go_to_map">Ga naar de kaart</string>
<string name="world_map_download_descr">De basis-wereldkaart ontbreekt of is verouderd. Download deze om OsmAnd goed te laten functioneren.</string>
</resources>
</resources>

View file

@ -1155,4 +1155,5 @@
<string name="poi_lit_no">Oświetlenie: nie</string>
<string name="poi_lit_yes">Oświetlenie: tak</string>
<string name="poi_cross">Krzyż</string>
</resources>

View file

@ -1,5 +1,4 @@
<?xml version='1.0' encoding='utf-8'?>
<resources>
<?xml version="1.0" encoding="utf-8" standalone="no"?><resources>
<string name="use_transparent_map_theme">Przezroczysty styl</string>
<string name="native_library_not_supported">To urządzenie nie obsługuje biblioteki renderowania natywnego.</string>
@ -246,12 +245,12 @@
<string name="gps_status_app_not_found">Nie zainstalowano aplikacji GPS status. Wyszukać ją w Market?</string>
<string name="voice_is_not_available_msg">Nawigacja głosowa jest niedostępna. Proszę przejść do „Ustawienia”→„Ogólne”→„Głos komunikatów”, wybrać zestaw komunikatów głosowych i zainstalować go.</string>
<string name="voice_is_not_available_title">Nie wybrano nawigacji głosowej</string>
<string name="daynight_mode_day">Dzień</string>
<string name="daynight_mode_night">Noc</string>
<string name="daynight_mode_day">Dzienny</string>
<string name="daynight_mode_night">Nocny</string>
<string name="daynight_mode_auto">Wschód/zachód Słońca</string>
<string name="daynight_mode_sensor">Czujnik światła</string>
<string name="daynight_descr">Zdefiniuj kryterium przełączania trybu dzień/noc</string>
<string name="daynight">Tryb dzień/noc</string>
<string name="daynight">Tryb dzienny/nocny</string>
<string name="download_files_question">Pobrać {0} plik(ów) ({1} MB)?</string>
<string name="items_were_selected">{0} element(ów) zaznaczono</string>
<string name="filter_existing_indexes">Pobrane</string>
@ -261,13 +260,13 @@
<string name="general_settings_descr">Konfiguruje wyświetlanie i ogólne ustawienia programu</string>
<string name="general_settings">Główne</string>
<string name="index_settings_descr">Pobiera i zarządza plikami map przechowywanymi na urządzeniu</string>
<string name="index_settings">Zarządzanie plikami map</string>
<string name="index_settings">Zarządzaj mapami</string>
<string name="osmand_service">Tryb działania w tle</string>
<string name="osmand_service_descr">Działanie aplikacji, gdy ekran jest wygaszony</string>
<string name="fast_route_mode">Najszybsza trasa</string>
<string name="fast_route_mode_descr">"Wyznacza najszybszą trasę zamiast najkrótszej "</string>
<string name="tiles_to_download_estimated_size">Na poziomie {0} pobrano {1} kafelków ({2} MB)</string>
<string name="shared_string_download_map">Pobierz mapę</string>
<string name="shared_string_download_map">Pobieranie mapy</string>
<string name="select_max_zoom_preload_area">Wybierz maksymalne przybliżenie do pobrania</string>
<string name="maps_could_not_be_downloaded">Nie udało się pobrać tej mapy</string>
<string name="continuous_rendering">Rysowanie ciągłe</string>
@ -918,7 +917,7 @@
<string name="snap_to_road">Przyciąganie do drogi</string>
<string name="day_night_info">Informacja o dniu/nocy</string>
<string name="map_widget_day_night">Mapa dzień/noc</string>
<string name="map_widget_day_night">Tryb dzienny/nocny</string>
<string name="map_widget_vector_attributes">Atrybuty renderowania</string>
<string name="show_lanes">Pasy ruchu</string>
@ -1001,7 +1000,7 @@
<string name="download_srtm_maps">Poziomice</string>
<string name="download_select_map_types">Inne mapy</string>
<string name="srtm_plugin_name">Poziomice</string>
<string name="srtm_plugin_description">"Dostarcza poziomice i cieniowanie wzgórz wyświetlane na mapach offline w OsmAnd. Funkcja przydatna dla sportowców, turystów i osób zainteresowanych strukturą reliefową krajobrazu.\n\nŚwiatowe dane (między 70 stopniem szerokości północnej a 70 stopniem szerokości południowej) opierają się na pomiarach SRTM (Shuttle Radar Topography Mission) i ASTER (Advanced Spaceborne Thermal Emission and Reflection Radiometer), przyrządu na pokładzie Terra, flagowego satelity Systemu Obserwacji Ziemi NASA. ASTER jest wspólnym przedsięwzięciem NASA, japońskiego Ministerstwa Gospodarki, Handlu i Przemysłu (METI) i Japońskich Systemów Kosmicznych (J-spacesystems). "</string>
<string name="srtm_plugin_description">"Dostarcza warstwy poziomic i cieniowania rzeźby terenu wyświetlane na standardowych mapach OsmAnd. Funkcja przydatna dla sportowców, turystów i osób zainteresowanych strukturą reliefową krajobrazu.\n\nŚwiatowe dane (między 70 stopniem szerokości północnej a 70 stopniem szerokości południowej) opierają się na pomiarach SRTM (Shuttle Radar Topography Mission) i ASTER (Advanced Spaceborne Thermal Emission and Reflection Radiometer), przyrządu na pokładzie Terra, flagowego satelity Systemu Obserwacji Ziemi NASA. ASTER jest wspólnym przedsięwzięciem NASA, japońskiego Ministerstwa Gospodarki, Handlu i Przemysłu (METI) i Japońskich Systemów Kosmicznych (J-spacesystems). "</string>
<string name="index_srtm_ele">Poziomice</string>
<string name="index_srtm_parts">części</string>
@ -1051,7 +1050,7 @@
<string name="srtm_paid_version_title">Wtyczka poziomic</string>
<string name="recording_context_menu_arecord">Nagraj notatkę audio</string>
<string name="recording_context_menu_vrecord">Nagraj notatkę wideo</string>
<string name="osmand_srtm_long_description_1000_chars">"Dostarcza poziomice i cieniowanie wzgórz wyświetlane na mapach offline w OsmAnd. Funkcja przydatna dla sportowców, turystów i osób zainteresowanych strukturą reliefową krajobrazu.\n\nŚwiatowe dane (między 70 stopniem szerokości północnej a 70 stopniem szerokości południowej) opierają się na pomiarach SRTM (Shuttle Radar Topography Mission) i ASTER (Advanced Spaceborne Thermal Emission and Reflection Radiometer), przyrządu na pokładzie Terra, flagowego satelity Systemu Obserwacji Ziemi NASA. ASTER jest wspólnym przedsięwzięciem NASA, japońskiego Ministerstwa Gospodarki, Handlu i Przemysłu (METI) i Japońskich Systemów Kosmicznych (J-spacesystems). "</string>
<string name="osmand_srtm_long_description_1000_chars">"Dostarcza warstwy poziomic i cieniowania rzeźby terenu wyświetlane na standardowych mapach OsmAnd. Funkcja przydatna dla sportowców, turystów i osób zainteresowanych strukturą reliefową krajobrazu.\n\nŚwiatowe dane (między 70 stopniem szerokości północnej a 70 stopniem szerokości południowej) opierają się na pomiarach SRTM (Shuttle Radar Topography Mission) i ASTER (Advanced Spaceborne Thermal Emission and Reflection Radiometer), przyrządu na pokładzie Terra, flagowego satelity Systemu Obserwacji Ziemi NASA. ASTER jest wspólnym przedsięwzięciem NASA, japońskiego Ministerstwa Gospodarki, Handlu i Przemysłu (METI) i Japońskich Systemów Kosmicznych (J-spacesystems). "</string>
<string name="recording_context_menu_show">Wyświetlanie</string>
<string name="recording_photo_description">Zdjęcie %1$s %2$s</string>
<string name="av_def_action_picture">Zrób zdjęcie</string>
@ -1064,7 +1063,7 @@
<string name="support_new_features_descr">Wesprzyj prace nad nowymi funkcjami przez przekazanie darowizny</string>
<string name="download_hillshade_maps">Warstwy cieniujące</string>
<string name="download_hillshade_maps">Cieniowanie rzeźby terenu</string>
<string name="av_use_external_camera_descr">Użyj aplikacji systemowej do robienia zdjęć</string>
<string name="av_use_external_camera">Użyj aplikacji aparatu</string>
@ -1359,7 +1358,7 @@ Afganistan, Afryka Południowa, Albania, Algieria, Andora, Angola, Anguilla, Ant
<string name="map_magnifier">Lupa mapy</string>
<string name="map_magnifier">Przybliżenie</string>
<string name="route_is_too_long">Obliczanie trasy offline może zająć dłuższą chwilę (lub czasami nie działać) dla punktów, które dzieli więcej niż 200km. Można spróbować dodać punkty pośrednie w celu zwiększenia wydajności.</string>
@ -1369,7 +1368,7 @@ Afganistan, Afryka Południowa, Albania, Algieria, Andora, Angola, Anguilla, Ant
<string name="auto_zoom_farthest">Widok szeroki</string>
<string name="shared_string_and">i</string>
<string name="shared_string_or">lub</string>
<string name="shared_string_remember_my_choice">Zapamiętaj mój wybór</string>
<string name="shared_string_remember_my_choice">Zapamiętanie wyboru</string>
<string name="animate_routing_route_not_calculated">Proszę najpierw przeliczyć trasę</string>
<string name="animate_routing_route">Pokaż używając obliczonej trasy </string>
@ -1408,14 +1407,14 @@ Afganistan, Afryka Południowa, Albania, Algieria, Andora, Angola, Anguilla, Ant
<string name="routing_attr_prefer_motorway_name">Preferowanie autostrad</string>
<string name="routing_attr_prefer_motorway_description">Preferowanie autostrad</string>
<string name="routing_attr_short_way_name">Najkrótsza droga</string>
<string name="routing_attr_short_way_description">Używaj najkrótszej drogi</string>
<string name="routing_attr_avoid_toll_name">Unikaj dróg płatnych</string>
<string name="routing_attr_avoid_toll_description">Unikaj płatnych dróg</string>
<string name="routing_attr_avoid_unpaved_name">Unikaj nieutwardzonych dróg</string>
<string name="routing_attr_short_way_description">Używa najkrótszej drogi</string>
<string name="routing_attr_avoid_toll_name">Unikanie płatnych dróg</string>
<string name="routing_attr_avoid_toll_description">Unikanie płatnych dróg</string>
<string name="routing_attr_avoid_unpaved_name">Unikanie nieutwardzonych dróg</string>
<string name="routing_attr_avoid_unpaved_description">Unikanie nieutwardzonych dróg</string>
<string name="routing_attr_avoid_ferries_name">Unikaj przepraw promowych</string>
<string name="routing_attr_avoid_ferries_name">Unikanie przepraw promowych</string>
<string name="routing_attr_avoid_ferries_description">Unikanie przepraw promowych</string>
<string name="routing_attr_avoid_motorway_name">Unikaj autostrad</string>
<string name="routing_attr_avoid_motorway_name">Unikanie autostrad</string>
<string name="routing_attr_avoid_motorway_description">Unikanie autostrad</string>
<string name="routing_attr_weight_name">Limit wagi</string>
<string name="routing_attr_weight_description">Określa maksymalną, dozwoloną masę pojazdu</string>
@ -1430,7 +1429,7 @@ Afganistan, Afryka Południowa, Albania, Algieria, Andora, Angola, Anguilla, Ant
<string name="use_displayed_track_for_navigation">Wykorzystać wyświetlaną trasę do nawigacji?</string>
<string name="calculate_osmand_route_without_internet">Wyznacz segment trasy OsmAnd offline</string>
<string name="gpx_option_calculate_first_last_segment">Przelicz trasę według OsmAnd dla pierwszego i ostatniego segmentu trasy</string>
<string name="gpx_option_calculate_first_last_segment">Wyznacza trasę usługi OsmAnd dla pierwszego i ostatniego segmentu</string>
<string name="lang_en">Angielski</string>
<string name="lang_af">Afrykański</string>
<string name="lang_hy">Armeński</string>
@ -1592,7 +1591,7 @@ Afganistan, Afryka Południowa, Albania, Algieria, Andora, Angola, Anguilla, Ant
<string name="shared_string_my_tracks">Moje trasy</string>
<string name="shared_string_my_favorites">Moje ulubione</string>
<string name="shared_string_my_places">Moje miejsca</string>
<string name="shared_string_my_places">Miejsca</string>
<string name="gpx_info_subtracks">"Ślady podrzędne: %1$s "</string>
<string name="gpx_info_waypoints">Punkty trasy: %1$s </string>
@ -1760,7 +1759,7 @@ Afganistan, Afryka Południowa, Albania, Algieria, Andora, Angola, Anguilla, Ant
<string name="map_widget_top">Pasek stanu</string>
<string name="map_widget_right">Prawy panel</string>
<string name="map_widget_left">Lewy panel</string>
<string name="shared_string_show">Wyświetl</string>
<string name="shared_string_show">Wyświetlanie</string>
<string name="configure_map">Skonfiguruj mapę</string>
<string name="search_radius_proximity">W odległości</string>
<string name="wake_on_voice">Włączanie ekranu</string>
@ -1942,12 +1941,12 @@ Afganistan, Afryka Południowa, Albania, Algieria, Andora, Angola, Anguilla, Ant
<string name="search_poi_category_hint">Wprowadź tekst, aby wyszukać dane</string>
<string name="rendering_attr_hideHouseNumbers_name">Ukrywanie numerów budynków</string>
<string name="storage_directory_multiuser">Pamięć użytkownika</string>
<string name="routing_attr_avoid_borders_name">Unikaj przekraczania granicy</string>
<string name="routing_attr_avoid_borders_name">Unikanie przekraczania granicy</string>
<string name="routing_attr_avoid_borders_description">Unika przekraczania granicy z innym państwem</string>
<string name="routing_attr_height_name">Limit wysokości</string>
<string name="routing_attr_height_description">Określa maksymalną, dozwoloną wysokość pojazdu</string>
<string name="use_fast_recalculation">Inteligentne przeliczanie trasy</string>
<string name="use_fast_recalculation_desc">Przelicz tylko początkową część trasy dla długich podróży</string>
<string name="use_fast_recalculation_desc">Wyznacza ponownie tylko początkową część trasy dla długich podróży</string>
<string name="shared_string_logoff">Wyloguj się</string>
<string name="osmo_share_my_location">Udostępniaj moją lokalizację</string>
<string name="rendering_value_walkingRoutesOSMC_name">Kolorowanie wg zasad OSMC</string>
@ -2067,7 +2066,7 @@ Afganistan, Afryka Południowa, Albania, Algieria, Andora, Angola, Anguilla, Ant
<string name="saved_at_time">Zapisano o: %1$s</string>
<string name="poi_deleted_localy">POI zostanie usunięty gdy tylko wyślesz swoje zmiany</string>
<string name="show_gpx">Pokaż GPX</string>
<string name="show_on_start">Wyświetlaj przy starcie</string>
<string name="show_on_start">Wyświetlanie podczas uruchamiania</string>
<string name="count_of_lines">Liczba linii</string>
<string name="address_unknown">Adres nie jest jeszcze znany</string>
<string name="unsaved_changes_will_be_lost">Wszelkie niezapisane zmiany zostaną utracone. Kontynuować?</string>
@ -2078,16 +2077,16 @@ Afganistan, Afryka Południowa, Albania, Algieria, Andora, Angola, Anguilla, Ant
<string name="favourites_context_menu_add">Dodaj do ulubionych</string>
<string name="roads">Drogi</string>
<string name="favorite_category_add_new">Dodaj nową</string>
<string name="favorite_category_select">Wybierz kategorię</string>
<string name="default_speed_system_descr">Zdefiniuj system miar prędkości</string>
<string name="default_speed_system">System pomiaru prędkości</string>
<string name="favorite_category_select">Proszę wybrać kategorię</string>
<string name="default_speed_system_descr">Definiuje jednostki pomiaru prędkości</string>
<string name="default_speed_system">Pomiar prędkości</string>
<string name="si_nm">Mile morskie</string>
<string name="nm">nm</string>
<string name="si_kmh">Kilometrów na godzinę</string>
<string name="si_mph">Mil na godzinę</string>
<string name="si_m_s">Metrów na sekundę</string>
<string name="si_min_km">Minut na kilometr</string>
<string name="si_min_m">Minut na milę</string>
<string name="si_kmh">Kilometry na godzinę</string>
<string name="si_mph">Mile na godzinę</string>
<string name="si_m_s">Metry na sekundę</string>
<string name="si_min_km">Minuty na kilometr</string>
<string name="si_min_m">Minuty na milę</string>
<string name="si_nm_h">Mile morskie na godzinę (węzły)</string>
<string name="nm_h">nmh</string>
<string name="min_mile">min/m</string>
@ -2100,7 +2099,7 @@ Afganistan, Afryka Południowa, Albania, Algieria, Andora, Angola, Anguilla, Ant
<string name="regions">Regiony</string>
<string name="region_maps">Mapy regionów</string>
<string name="region_maps">Mapy regionu</string>
<string name="world_maps">Mapy świata</string>
<string name="hillshade_layer_disabled">Wyłączona warstwa cieniowania wzgórz</string>
@ -2126,5 +2125,10 @@ Afganistan, Afryka Południowa, Albania, Algieria, Andora, Angola, Anguilla, Ant
<string name="application_dir_description">Proszę wybrać położenie zapisywania plików map.</string>
<string name="value_downloaded_from_max">%1$.1f z %2$.1f MB</string>
<string name="shared_string_qr_code">Kod QR</string>
<string name="enter_country_name">Wpisz nazwę kraju</string>
</resources>
<string name="enter_country_name">Proszę wybrać kraj</string>
<string name="map_downloaded_descr">Pobrano mapę regionu %1$s. Proszę powrócić do mapy, aby rozpocząć jej używanie.</string>
<string name="world_map_download_descr">Brak podstawowej mapy świata (pokrywającej cały glob w małych przybliżeniach) lub jest ona przestarzała. Proszę rozważyć pobranie mapy podstawowej, aby uzyskać kompletne środowisko.</string>
<string name="map_downloaded">Pobrano mapę</string>
<string name="go_to_map">Powróć do mapy</string>
<string name="simulate_initial_startup">Symulowania pierwszego uruchomienia programu</string>
</resources>

View file

@ -2365,4 +2365,8 @@
<string name="poi_concentration_camp_nazism">Тип: нацистский</string>
<string name="poi_concentration_camp_gulag">Тип: гулаг</string>
<string name="poi_temperature">Температура</string>
<string name="poi_bathing_yes">Купание: да</string>
<string name="poi_bathing_no">Купание: нет</string>
</resources>

View file

@ -1604,7 +1604,7 @@
<string name="download_tab_local">Локальные</string>
<string name="navigate_point_zone">Зона</string>
<string name="rendering_attr_transportStops_name">Остановки транспорта</string>
<string name="shared_string_dismiss">Удалить</string>
<string name="shared_string_dismiss">Закрыть</string>
<string name="dash_download_msg_none">Вы хотите загрузить оффлайн карты?</string>
<string name="dash_download_msg">Загружено карт: %1$s</string>
<string name="dash_download_new_one">Загрузить новую карту</string>

View file

@ -636,7 +636,7 @@
<string name="poi_communication">Comunicatzione</string>
<string name="poi_sightseeing">Vista turìstica</string>
<string name="poi_internet_access">Atzessu ìnternet</string>
<string name="poi_club">Tzirculu</string>
<string name="poi_club">Tzìrculu</string>
<string name="poi_cafe_and_restaurant">Cafeterias e ristorantes</string>
<string name="poi_shop_food">Butega alimentare</string>
<string name="poi_road_obstacle">Impèigu/ostàculu istradale</string>
@ -1433,4 +1433,52 @@
<string name="poi_historic_era_chalcolithic">Època istòrica: calcolìticu (IV-III millènniu AC.)</string>
<string name="poi_historic_stone">Pedra istòrica</string>
<string name="poi_square">Pratza</string>
<string name="poi_building_type_church">Casta de edifìtziu: crèsia</string>
<string name="poi_building_type_chapel">Casta de edifìtziu: capella</string>
<string name="poi_building_type_mosque">Casta de edifìtziu: moschea</string>
<string name="poi_building_type_temple">Casta de edifìtziu: tèmpiu</string>
<string name="poi_building_type_cathedral">Casta de edifìtziu: Seu/Catedrale</string>
<string name="poi_building_type_monastery">Casta de edifìtziu: monastèriu/muristene</string>
<string name="poi_building_type_basilica">Casta de edifìtziu: basìlica</string>
<string name="poi_building_type_synagogue">Casta de edifìtziu: sinagoga</string>
<string name="poi_building_type_shrine">Casta de edifìtziu: sacràriu</string>
<string name="poi_cross">Rughe</string>
<string name="poi_summit_cross">Rughe de cùcuru: eja</string>
<string name="poi_prison_camp">Campu de presonia</string>
<string name="poi_concentration_camp">Casta: campu de cuntzentramentu</string>
<string name="poi_pow_camp">Casta: campu pro presoneris de gherra</string>
<string name="poi_labor_camp">Casta: campu de traballu</string>
<string name="poi_concentration_camp_nazism">Casta: nazista</string>
<string name="poi_concentration_camp_gulag">Casta: gulag</string>
<string name="poi_temperature">Temperadura</string>
<string name="poi_artist_name">Artista</string>
<string name="poi_sculptor">Iscultura</string>
<string name="poi_fortification_type_hill_fort">Casta de fortificatzione: fortilesa de montigru</string>
<string name="poi_fortification_type_limes">Casta de fortificatzione: limes</string>
<string name="poi_fortification_type_sconce">Casta de fortificatzione: fortinu</string>
<string name="poi_fortification_type_ring_ditch">Casta de fortificatzione: fossa tzirculare</string>
<string name="poi_pa">Pa (aposentamentos fortificados maori)</string>
<string name="poi_historic_farm">Fatoria istòrica</string>
<string name="poi_historic_railway_station">Istatzione ferroviària istòrica</string>
<string name="poi_club_freemasonry">Lògia Massònica</string>
<string name="poi_club_sailing">Tzìrculu de vela</string>
<string name="poi_club_scout">Tzìrculu de scautismu (scouts)</string>
<string name="poi_historic_threshing_floor">Argiola istòrica</string>
<string name="poi_historic_gallows">Furca istòrica</string>
<string name="poi_tunnel_railway">Tunnel ferroviàriu</string>
<string name="poi_bridge_railway">Ponte ferroviàriu</string>
<string name="poi_historic_railway">Ferrovia istòrica</string>
<string name="poi_route_railway_ref">Àndala ferroviària</string>
</resources>

View file

@ -1,5 +1,4 @@
<?xml version='1.0' encoding='utf-8'?>
<resources><string name="always_center_position_on_map">Ammustra sa positzione semper a su tzentru</string>
<?xml version="1.0" encoding="utf-8" standalone="no"?><resources><string name="always_center_position_on_map">Ammustra sa positzione semper a su tzentru</string>
<string name="voice_pref_title">Boghe</string>
<string name="misc_pref_title">Mistura</string>
<string name="localization_pref_title">Localizatzione</string>
@ -1703,7 +1702,7 @@
<string name="back_to_map">Torra a sa mapa</string>
<string name="plugin_touringview_name">Vista mapa turìstica</string>
<string name="location_on_map">Assètiu/Collocassione:\n Lat %1$s\n Lon %2$s</string>
<string name="location_on_map">Positzione:\n Lat %1$s\n Lon %2$s</string>
<string name="rename_failed">Renumenatzione faddida.</string>
<string name="shared_string_selected">Ischertadu</string>
<string name="track_segments">Segmentos de sa rasta</string>
@ -1964,7 +1963,7 @@
<string name="share_geo">geo:</string>
<string name="share_menu_location">Cumpartzi sa positzione</string>
<string name="shared_string_send">Imbia</string>
<string name="hello_blank_fragment">Sabuna/Inneta su segmentu</string>
<string name="application_dir_description">Issèbera in ue boles pònnere sos documentos de sas mapas.</string>
<string name="map_downloaded">Mapa iscarrigada</string>
<string name="map_downloaded_descr">Sa mapa de %1$s est istada iscarrigada. Torra a sa mapa pro incumintzare a limpreare.</string>
@ -1974,19 +1973,19 @@
<string name="world_map_download_descr">Sa mapa mundiale de base (chi coberrit su mundu intreu a zooms bassos) fartat o est bècia. Pro praghere cunsìdera sa possibilidade de liscarrigare pro tènnere unaplicatzione cumprida.</string>
<string name="show_on_start_description">\"Istudadu\" mandat deretu a sischermu mapa</string>
<string name="new_version">Versione noa</string>
<string name="begin_with_osmand_menu_group">Incumintza cun OsmAnd</string>
<string name="begin_with_osmand_menu_group">Primos passos cun OsmAnd</string>
<string name="features_menu_group">Funtzionalidades</string>
<string name="help_us_to_improve_menu_group">Agiuda·nos a megiorare OsmAnd</string>
<string name="other_menu_group">Àteru</string>
<string name="plugins_menu_group">Plugins (estensiones)</string>
<string name="first_usage_item">Primu impreu</string>
<string name="first_usage_item_description">Comente iscarrigare sas mapas, e sas impostatziones de base</string>
<string name="first_usage_item_description">Comente iscarrigare sas mapas e definire sas impostatziones de base</string>
<string name="navigation_item_description">Cunfigura su nàvigu</string>
<string name="faq_item">Preguntas fitianas (FAQ)</string>
<string name="faq_item_description">Comente usare sos plugins</string>
<string name="map_viewing_item">Visione de sa mapa</string>
<string name="search_on_the_map_item">Chircare in sa mapa</string>
<string name="planning_trip_item">Pranificatzione de unu biàgiu</string>
<string name="planning_trip_item">Pranificare unu biàgiu</string>
<string name="contour_lines_and_hillshade_maps_item">Mapas de sas lìnias de livellu e de sas umbraduras de sos rilievos</string>
<string name="trip_recording_tool_item">Aina de registratzione biàgiu</string>
<string name="osmand_ski_maps_item">Mapas pro iscì OsmAnd</string>
@ -1996,6 +1995,8 @@
<string name="instalation_troubleshooting_item">Installatzione e solutziones a sos problemas</string>
<string name="techical_articles_item">Artìculos tècnicos</string>
<string name="versions_item">Versiones</string>
<string name="poll">sondàggiu</string>
<string name="poll">Sondàggiu</string>
<string name="contact_us">Cuntata·nos</string>
</resources>
<string name="osm_edit_created_poi">PDI de OSM creadu</string>
<string name="osm_edit_created_bug">Nota de errore de OSM creada</string>
</resources>

View file

@ -86,7 +86,7 @@
<string name="online_map_settings_descr">Konfigurácia online mapových zdrojov</string>
<string name="osmand_rastermaps_plugin_description">"S týmto modulom môžete použiť rozličné online (tiež nazývané dlaždicové alebo rastrové) mapy, od preddefinovaných OSM dlaždíc (ako Mapnik) po satelitné snímky a špeciálne vrstvy ako mapy počasia, klimatické, geologické, tieňované svahy a pod.\n\nVšetky tieto mapy môžu byť použité ako hlavná (základná) mapa na obrazovke OsmAnd alebo ako prekrývacia / podkladová mapa k inej základnej mape (napr. bežné offline mapy z OsmAnd). Pre lepšie zviditeľnenie podkladových máp je možné vypnúť niektoré objekty z vektorových máp OsmAnd, cez menu \"Nastaviť mapu\".\n\nDlaždicové mapy môžete získať priamo zo zdrojov na Internete, alebo ich môžete pripraviť na použitie offline (skopírovať ručne do dátového priečinka OsmAnd) ako sqlite databázu, ktorú vedia vytvoriť viaceré programy na prípravu máp. "</string>
<string name="osmand_rastermaps_plugin_description">"S týmto modulom môžete použiť rozličné online (tiež nazývané dlaždicové alebo rastrové) mapy, od preddefinovaných OSM dlaždíc (ako Mapnik) po satelitné snímky a špeciálne vrstvy ako mapy počasia, klimatické, geologické, tieňované svahy a pod.\n\nVšetky tieto mapy môžu byť použité ako hlavná (základná) mapa na obrazovke OsmAnd alebo ako prekrývacia / podkladová mapa k inej základnej mape (napr. štandardné offline mapy z OsmAnd). Pre lepšie zviditeľnenie podkladových máp je možné vypnúť niektoré objekty z vektorových máp OsmAnd, cez menu \"Nastaviť mapu\".\n\nDlaždicové mapy môžete získať priamo zo zdrojov na Internete, alebo ich môžete pripraviť na použitie offline (skopírovať ručne do dátového priečinka OsmAnd) ako sqlite databázu, ktorú vedia vytvoriť viaceré programy na prípravu máp. "</string>
<string name="osmand_background_plugin_description">Zobrazí nastavenia na povolenie stopovania a navigácie v pozadí systému (vypnutá obrazovka) pravidelným prebúdzaním GPS zariadenia.</string>
<string name="osmand_accessibility_description">Tento modul zobrazí funkcie uľahčenia prístupu priamo v OsmAnd. Napr. je možné zmeniť rýchlosť TTS hlasu, použiť trackball na približovanie, alebo automaticky oznamovať polohu hlasom.</string>
@ -312,11 +312,11 @@
<string name="local_index_map_data">Mapové údaje</string>
<string name="local_indexes_cat_backup">Záloha</string>
<string name="local_indexes_cat_tts">Hlasové údaje (TTS)</string>
<string name="local_indexes_cat_voice">Hlasové údaje (mediálne)</string>
<string name="local_indexes_cat_tts">Hlasové povely (TTS)</string>
<string name="local_indexes_cat_voice">Hlasové povely (mediálne)</string>
<string name="local_indexes_cat_tile">Údaje online máp</string>
<string name="local_indexes_cat_map">Offline mapy (vektorové)</string>
<string name="local_indexes_cat_tile">Online a dočasne uložené dlaždice máp</string>
<string name="local_indexes_cat_map">Štandardné mapy (vektorové)</string>
<string name="local_indexes_cat_poi">POI údaje</string>
<string name="ttsvoice">TTS hlas</string>
<string name="search_offline_clear_search">Nové hľadanie</string>
@ -899,7 +899,7 @@
<string name="select_animate_speedup">Vybrať zrýchlenie animovania trasy</string>
<string name="osmand_parking_hours">Hodín</string>
<string name="osmand_parking_minutes">Minút</string>
<string name="osmand_parking_position_description_add_time">Automobil bol zaparkovaný o:</string>
<string name="osmand_parking_position_description_add_time">Automobil bol zaparkovaný o</string>
<string name="use_compass_navigation_descr">Použitie kompasu ak nie je zistený smer pohybu</string>
<string name="use_compass_navigation">Použiť kompas</string>
<string name="route_updated_loc_found">Cesta bude prepočítaná, keď sa nájde umiestnenie</string>
@ -946,10 +946,10 @@
<string name="background_service_is_enabled_question">Služba v pozadí je stále spustená. Chcete ju prerušiť?</string>
<string name="native_library_not_running">Aplikácia je spustená v bezpečnom režime (vypnete ho v nastaveniach).</string>
<string name="download_roads_only_maps">Iba mapy ciest</string>
<string name="download_roads_only_maps">Mapa ciest</string>
<string name="download_roads_only_item">Len cestná sieť</string>
<string name="rendering_attr_showRoadMaps_name">Iba mapy ciest</string>
<string name="download_regular_maps">Bežné mapy</string>
<string name="download_regular_maps">Štandardné mapy</string>
<string name="close_changeset">Zavrieť súbor zmien</string>
<string name="incomplete_locale">nedokončený</string>
<string name="no_buildings_found">Neboli nájdené žiadne budovy.</string>
@ -997,7 +997,7 @@
<string name="recording_default_name">Nahrávka</string>
<string name="map_widget_av_notes">Mediálne poznámky</string>
<string name="osmand_srtm_short_description_80_chars">OsmAnd modul pre offline vrstevnice</string>
<string name="osmand_srtm_long_description_1000_chars">"Tento modul poskytuje vrstevnice a tieňované reliéfy, ktoré môžu byť zobrazené na OsmAnd offline mapách. Táto funkcia je vhodná pre atlétov, turistov, chodcov a všetkých, ktorých zaujíma reliéf terénu.\n\nGlobálne údaje (medzi 70 stupňami severne a 70 stupňami južne) sú založené na meraní SRTM (Shuttle Radar Topography Mission) a ASTER (Advanced Spaceborne Thermal Emission and Reflection Radiometer), zobrazovacieho nástroja na palube Terra, vlajkového satelitu NASA Earth Observing System. ASTER je kooperatívne úsilie medzi NASA, Japonským ministerstvom hospodárstva, obchodu a priemyslu (METI) a Japonských vesmírnych systémov (J-spacesystems). "</string>
<string name="osmand_srtm_long_description_1000_chars">"Tento modul poskytuje vrstevnice a tieňované reliéfy, ktoré môžu byť zobrazené ponad štandardné mapy. Táto funkcia je vhodná pre atlétov, turistov, chodcov a všetkých, ktorých zaujíma reliéf terénu.\n\nGlobálne údaje (medzi 70 stupňami severne a 70 stupňami južne) sú založené na meraní SRTM (Shuttle Radar Topography Mission) a ASTER (Advanced Spaceborne Thermal Emission and Reflection Radiometer), zobrazovacieho nástroja na palube Terra, vlajkového satelitu NASA Earth Observing System. ASTER je kooperatívne úsilie medzi NASA, Japonským ministerstvom hospodárstva, obchodu a priemyslu (METI) a Japonských vesmírnych systémov (J-spacesystems). "</string>
@ -1008,7 +1008,7 @@
<string name="map_widget_audionotes">Zvukové poznámky</string>
<string name="audionotes_plugin_description">Modul Audio/video poznámok poskytuje funkcie na vytváranie obrazových/zvukových/video poznámok počas výletu, buď tlačidlom na obrazovke mapy alebo priamo v kontextovom menu bodu na mape.</string>
<string name="audionotes_plugin_name">Audio/video poznámky</string>
<string name="srtm_plugin_description">"Tento modul poskytuje vrstevnice a tieňované reliéfy, ktoré môžu byť zobrazené na OsmAnd offline mapách. Táto funkcia je vhodná pre atlétov, turistov, chodcov a všetkých, ktorých zaujíma reliéf terénu.\n\nGlobálne údaje (medzi 70 stupňami severne a 70 stupňami južne) sú založené na meraní SRTM (Shuttle Radar Topography Mission) a ASTER (Advanced Spaceborne Thermal Emission and Reflection Radiometer), zobrazovacieho nástroja na palube Terra, vlajkového satelitu NASA Earth Observing System. ASTER je kooperatívne úsilie medzi NASA, Japonským ministerstvom hospodárstva, obchodu a priemyslu (METI) a Japonských vesmírnych systémov (J-spacesystems). "</string>
<string name="srtm_plugin_description">"Tento modul poskytuje vrstevnice a tieňované reliéfy, ktoré môžu byť zobrazené ponad štandardné mapy. Táto funkcia je vhodná pre atlétov, turistov, chodcov a všetkých, ktorých zaujíma reliéf terénu.\n\nGlobálne údaje (medzi 70 stupňami severne a 70 stupňami južne) sú založené na meraní SRTM (Shuttle Radar Topography Mission) a ASTER (Advanced Spaceborne Thermal Emission and Reflection Radiometer), zobrazovacieho nástroja na palube Terra, vlajkového satelitu NASA Earth Observing System. ASTER je kooperatívne úsilie medzi NASA, Japonským ministerstvom hospodárstva, obchodu a priemyslu (METI) a Japonských vesmírnych systémov (J-spacesystems). "</string>
<string name="srtm_plugin_name">Vrstevnice</string>
<string name="download_select_map_types">Ďalšie mapy</string>
<string name="download_srtm_maps">Údaje vrstevníc</string>
@ -1028,7 +1028,7 @@
<string name="av_use_external_camera_descr">Použiť systémovú aplikáciu na zachytenie fotografie</string>
<string name="av_use_external_camera">Použiť aplikáciu Fotoaparát</string>
<string name="download_hillshade_maps">Prekrytia tieňovanými reliéfmi</string>
<string name="download_hillshade_maps">Tieňované reliéfy</string>
<string name="support_new_features_descr">Sponzorujte vývoj nových funkcií v aplikácii</string>
<string name="max_speed_none">žiadna</string>
<string name="prefer_motorways">Uprednostniť diaľnice</string>
@ -1105,7 +1105,7 @@
<string name="distance_measurement_load_gpx">Otvoriť existujúci GPX</string>
<string name="local_indexes_cat_srtm">Dáta s vrstevnicami</string>
<string name="local_indexes_cat_srtm">Vrstevnice</string>
<string name="keep_intermediate_points">Zachovať prechodné body</string>
<string name="new_directions_point_dialog">Už máte určené prechodné body.</string>
<string name="context_menu_item_directions_to">Pokyny sem</string>
@ -1506,7 +1506,7 @@ Afganistan, Albánsko, Alžírsko, Andora, Angola, Anguilla, Antigua a Barbuda,
<string name="osmo_connect">Pripojiť k</string>
<string name="osmo_create_group">Vytvoriť skupinu</string>
<string name="osmo_server_operation_failed">Zlyhala operácia s OsMo serverom</string>
<string name="osmo_enable_tracker">Odosielať moje pozície</string>
<string name="osmo_enable_tracker">Odosielať moje polohy</string>
<string name="osmo_control">Rýchly prístup k OsMo</string>
<string name="osmo_follow">Nasledovať</string>
<string name="color_green">zelená</string>
@ -2119,7 +2119,7 @@ Afganistan, Albánsko, Alžírsko, Andora, Angola, Anguilla, Antigua a Barbuda,
<string name="downloading_number_of_files">Sťahovanie - súbor %1$d</string>
<string name="regions">Oblasti</string>
<string name="region_maps">Mapy oblastí</string>
<string name="region_maps">Mapy celých oblastí</string>
<string name="world_maps">Svetové mapy</string>
<string name="hillshade_layer_disabled">Tieňovaný reliéf vypnutý</string>
@ -2127,7 +2127,7 @@ Afganistan, Albánsko, Alžírsko, Andora, Angola, Anguilla, Antigua a Barbuda,
<string name="activate_seamarks_plugin">Prosím zapnite modul Námorné značky</string>
<string name="activate_srtm_plugin">Prosím zapnite modul Vrstevnice</string>
<string name="later">Neskôr</string>
<string name="get_full_version">Získať plnú verziu</string>
<string name="get_full_version">Plná verzia</string>
<string name="downloads">Sťahovania</string>
<string name="favorite_category_dublicate_message">Zadaný názov kategórie už existuje. Prosím zadajte iný názov.</string>
<string name="favorite_category_name">Názov kategórie</string>
@ -2138,11 +2138,45 @@ Afganistan, Albánsko, Alžírsko, Andora, Angola, Anguilla, Antigua a Barbuda,
<string name="update_all">Aktualizovať všetko (%1$s MB)</string>
<string name="free_downloads_used">Počet použitých voľných stiahnutí</string>
<string name="free_downloads_used_description">Môžete nastaviť, koľko voľných stiahnutí ste už použili</string>
<string name="simulate_initial_startup_descr">Vymaže príznak indikujúci prvý štart, ostatné nastavenia ponechá nezmenené</string>
<string name="simulate_initial_startup">Simulovať prvé spustenie</string>
<string name="simulate_initial_startup_descr">Nastaví príznak indikujúci prvý štart aplikácie, ostatné nastavenia ponechá nezmenené</string>
<string name="simulate_initial_startup">Simulovať prvé spustenie aplikácie</string>
<string name="share_geo">geo:</string>
<string name="share_menu_location">Zdieľať polohu</string>
<string name="shared_string_send">Odoslať</string>
<string name="hello_blank_fragment">Prázdny fragment</string>
<string name="application_dir_description">Zvoľte kam chcete uložiť súbory máp.</string>
<string name="osm_edit_created_poi">Vytvorený OSM POI</string>
<string name="osm_edit_created_bug">Vytvorená OSM chyba</string>
<string name="world_map_download_descr">Svetová základná mapa (pokrývajúca celý svet pri malom priblížení) chýba alebo je zastaralá. Prosím zvážte stiahnutie Svetovej základnej mapy, aby ste mali kompletné prostredie.</string>
<string name="shared_string_qr_code">QR kód</string>
<string name="map_downloaded">Mapa stiahnutá</string>
<string name="map_downloaded_descr">Mapa %1$s bola stiahnutá. Choďte späť na mapu a môžete ju začať používať.</string>
<string name="go_to_map">Ísť na mapu</string>
<string name="show_on_start_description">\'Vypnuté\' spustí priamo obrazovku mapy</string>
<string name="enter_country_name">Zadajte názov krajiny</string>
<string name="new_version">Nová verzia</string>
<string name="begin_with_osmand_menu_group">Prvé kroky s OsmAnd</string>
<string name="features_menu_group">Funkcie</string>
<string name="help_us_to_improve_menu_group">Pomôžte nám vylepšiť OsmAnd</string>
<string name="other_menu_group">Iné</string>
<string name="plugins_menu_group">Zásuvné moduly</string>
<string name="first_usage_item">Prvé použitie</string>
<string name="first_usage_item_description">Ako sťahovať mapy, urobiť základné nastavenia</string>
<string name="navigation_item_description">Nastavenie navigácie</string>
<string name="faq_item">Otázky</string>
<string name="faq_item_description">Ako používať zásuvné moduly</string>
<string name="map_viewing_item">Prezeranie mapy</string>
<string name="search_on_the_map_item">Hľadanie na mape</string>
<string name="planning_trip_item">Plánovanie výletu</string>
<string name="contour_lines_and_hillshade_maps_item">Mapy vrstevníc a tieňované svahy</string>
<string name="trip_recording_tool_item">Nástroj nahrávania výletov</string>
<string name="osmand_ski_maps_item">Lyžiarske mapy</string>
<string name="nautical_charts_item">Námorné mapy</string>
<string name="audio_video_note_item">Zvukové/video poznámky</string>
<string name="osm_editing_item">Úpravy OSM</string>
<string name="instalation_troubleshooting_item">Inštalácia a riešenie problémov</string>
<string name="techical_articles_item">Technické články</string>
<string name="versions_item">Verzie</string>
<string name="poll">Anketa</string>
<string name="contact_us">Kontaktujte nás</string>
</resources>

View file

@ -164,7 +164,7 @@
<string name="route_updated_loc_found">Pot bo ponovno preračunana, ko bo določeno trenutno mesto</string>
<string name="osmand_parking_hours">Ure</string>
<string name="osmand_parking_minutes">Minute</string>
<string name="osmand_parking_position_description_add_time">Avto je parkiran na:</string>
<string name="osmand_parking_position_description_add_time">Avto je bil parkiran ob</string>
<string name="global_app_allocated_memory_descr">Uporabljenih je %1$s MB pomnilnika (Omejitev na androidu je %2$s MB, na dalviku %3$s MB).</string>
<string name="global_app_allocated_memory">Uporabljen pomnilnik</string>
@ -269,10 +269,10 @@
<string name="index_name_europe">Evropa</string>
<string name="index_name_france">Evropa Francija</string>
<string name="index_name_germany">Evropa Nemčija</string>
<string name="index_name_russia">Evrazija Rusija</string>
<string name="index_name_russia">Rusija</string>
<string name="index_name_africa">Afrika</string>
<string name="index_name_asia">Azija</string>
<string name="index_name_oceania">Oceanija</string>
<string name="index_name_oceania">Avstralija in Oceanija</string>
<string name="index_name_other">Svetovni in tematski zemljevidi</string>
<string name="index_name_wiki">Svetovni podatki POI na Wikipediji</string>
<string name="index_name_voice">Glasovni paketi (posneti, omejeno št. funkcij)</string>
@ -436,7 +436,7 @@
<string name="play_commands_of_currently_selected_voice">Predvajaj navodila z izbranim glasom</string>
<string name="test_voice_prompts">Preizkusi glasovna navodila</string>
<string name="local_indexes_cat_tts">Podatki govora (TTS)</string>
<string name="local_indexes_cat_voice">Posneti glasovi</string>
<string name="local_indexes_cat_voice">Podatki govora (posnetki)</string>
<string name="ttsvoice">Sintetiziran govor (TTS)</string>
<string name="choose_audio_stream">Odvod glasovnega vodenja</string>
<string name="choose_audio_stream_descr">Izbor kanala, po katerem naj se predvaja sintetiziran govor navodil navigacije</string>
@ -503,7 +503,7 @@
<string name="fav_points_not_exist">Ni priljubljenih točk</string>
<string name="incomplete_locale">nedokončano</string>
<string name="download_roads_only_item">Le ceste</string>
<string name="download_regular_maps">Običajni zemljevidi</string>
<string name="download_regular_maps">Standardni zemljevidi</string>
<string name="local_index_mi_restore">Vklopi</string>
@ -561,16 +561,16 @@
<string name="search_villages_and_postcodes">Poišči več vasi ali poštnih številk</string>
<string name="rendering_attr_showRoadMaps_description">Izberite kdaj naj bodo prikazani zemljevidi le s cestami:</string>
<string name="rendering_attr_showRoadMaps_name">Zemljevidi le s cestami</string>
<string name="download_roads_only_maps">Zemljevidi le s cestami</string>
<string name="download_roads_only_maps">Zemljevid le s cestami</string>
<string name="background_service_is_enabled_question">Storitev v ozadju se še vedno izvaja. Ali jo želite preklicati?</string>
<string name="select_index_file_to_download">Ni najdenih ustreznih podatkov. Če izbranega področja ni, ga lahko ustvarite sami (več informacij na http://osmand.net).</string>
<string name="local_indexes_cat_map">Shranjeni (vektorski) zemljevidi</string>
<string name="local_indexes_cat_map">Standardni zemljevidi (vektorski)</string>
<string name="index_settings_descr">Prejemanje in upravljanje datotek zemljevidov, shranjenih na napravi</string>
<string name="map_online_plugin_is_not_installed">Omogočite vstavek spletnih zemljevidov za izbiro različnih virov zemljevidov</string>
<string name="map_online_data_descr">Uporabi spletne zemljevide (prejem in shranjevanje na kartici SD)</string>
<string name="shared_string_online_maps">Spletni zemljevidi</string>
<string name="online_map_settings_descr">Nastavitev virov spletnih in shranjenih zemljevidov</string>
<string name="osmand_rastermaps_plugin_description">"Vstavek omogoča dostop do različnih vrst zemljevidov od vektorskih OpenStreetMap do satelitskih slik ter posebnih prekrivnih zemljevidov, kot so vremenski, klimatski, geološki in drugi zemljevidi. Vstavek omogoča tudi podporo za izrisovanje izohips, senčenje hribovitih predelov in podobno.\n\nVsi ti zemljevidi so lahko uporabljeni kot osnovni zemljevidi, ali pa so podloga oziroma prekrivni zemljevid drugim zemljevidom. V ta namen je treba vektorske zemljevide OsmAnd skriti oziroma narediti prosojne med \'Nastavitvami zemljevida\' v vsebinskem meniju.\n\nVektorske zemljevide je mogoče pridobiti preko spletnih virov, ali pa jih shraniti za delo brez povezave. Zemljevidi morajo biti shranjeni v osnovni mapi OsmAnd kot podatkovna zbirka SQLite. "</string>
<string name="osmand_rastermaps_plugin_description">"Vstavek omogoča dostop do različnih vrst zemljevidov od vektorskih OpenStreetMap do satelitskih slik ter posebnih prekrivnih zemljevidov, kot so vremenski, klimatski, geološki in drugi zemljevidi. Vstavek omogoča tudi podporo za izrisovanje izohips, senčenje hribovitih predelov in podobno.\n\nVsi ti zemljevidi so lahko uporabljeni kot osnovni zemljevidi, ali pa so podloga oziroma prekrivni zemljevid drugim standardnim zemljevidom. V ta namen je treba vektorske zemljevide OsmAnd skriti oziroma narediti prosojne med \'Nastavitvami zemljevida\' v vsebinskem meniju.\n\nVektorske zemljevide je mogoče pridobiti preko spletnih virov, ali pa jih shraniti za delo brez povezave. Zemljevidi morajo biti shranjeni v osnovni mapi OsmAnd kot podatkovna zbirka SQLite. "</string>
<string name="osm_editing_plugin_description">Vstavek omogoča upravljanje nastavitev, ki so namenjene pošiljanju poročil, hroščev in odzivov na delovanje programa OsmAnd (posodabljanje podatkov točk POI, objavljanje sledi GPX (zahteva ustrezna poverila OSM) in drugo). OSM je javni odprtokodni projekt, katerega kakovost je odvisna tudi od vaše dejavnosti.</string>
<string name="vector_maps_may_display_faster_on_some_devices">Vektorski zemljevidi se običajno izrisujejo hitreje, zgodi pa se, da na nekaterih napravah ne delujejo.</string>
<string name="debugging_and_development">Razhroščevalnik OsmAnd</string>
@ -1028,7 +1028,7 @@
<string name="av_settings">"Nastavitve za zvok/video "</string>
<string name="recording_error">Med snemanjem je prišlo do napake </string>
<string name="recording_camera_not_available">Kamera ni na voljo</string>
<string name="osmand_srtm_long_description_1000_chars">"Ta vsavek omogoča prikaz izohips na shranjenih zemljevidih OsmAnd. Globalni podatki (med 70 stopinj severno in 70 stopinj južno) temeljijo na meritvah SRTM (Shuttle Radar Topography Mission) in ASTER (Advanced Spaceborne Thermal Emission and Reflection Radiometer), ki je instrument za slikanje na krovu Terre, vodilnega satelita Nasinega sistema za opazovanje. ASTER je prizadevanje za sodelovanje med ameriško NASO, japonskim ministrstvom za gospodarstvo, trgovino in industrijo (METI) in japonskim vesoljskim sistemom (J-spacesystems). "</string>
<string name="osmand_srtm_long_description_1000_chars">"Ta vstavek omogoča prikaz izohips na shranjenih zemljevidih OsmAnd. Globalni podatki (med 70 stopinj severno in 70 stopinj južno) temeljijo na meritvah SRTM (Shuttle Radar Topography Mission) in ASTER (Advanced Spaceborne Thermal Emission and Reflection Radiometer), ki je instrument za slikanje na krovu Terre, vodilnega satelita Nasinega sistema za opazovanje. ASTER je prizadevanje za sodelovanje med ameriško NASO, japonskim ministrstvom za gospodarstvo, trgovino in industrijo (METI) in japonskim vesoljskim sistemom (J-spacesystems). "</string>
<string name="audionotes_location_not_defined">Mesto, ki naj bi ga povezali z zaznamkom, še ni določeno. Z možnostjo \"Uporabi mesto …\" je mogoče dodeliti zaznamek za določeno mesto</string>
<string name="srtm_paid_version_msg">Razmislite o nakupu vstavka za prikaz izohips v trgovini Market in s tem podprite nadaljnji razvoj.</string>
<string name="srtm_paid_version_title">Vstavek Izohipse</string>
@ -1049,7 +1049,7 @@
<string name="support_new_features_descr">Podarite in pripomogli boste k razvoju novih zmožnosti programa</string>
<string name="download_hillshade_maps">Senčenje terena na zemljevidu</string>
<string name="download_hillshade_maps">Senčenje terena</string>
<string name="av_use_external_camera_descr">Uporabi sistemski program za fotografiranje</string>
<string name="av_use_external_camera">Uporabi kamero</string>
@ -1380,7 +1380,7 @@
<string name="osmo_connect_to_group">Povezava s skupino</string>
<string name="osmo_create_group">Ustvari skupino</string>
<string name="osmo_activity">Sledenje OpenStreetMap</string>
<string name="osmo_enable_tracker">Pošlji trenutno mesto</string>
<string name="osmo_enable_tracker">Objavi trenutno mesto</string>
<string name="osmo_control">Hitri dostop OsMo</string>
<string name="osmo_connected_devices">Povezane naprave</string>
<string name="osmo_auth_pending">Preverjanje overitve …</string>
@ -1663,7 +1663,7 @@
<string name="settings_privacy">Zasebnost</string>
<string name="points">Točke</string>
<string name="shared_string_my_location">Trenutno mesto</string>
<string name="shared_string_my_location">Moj položaj</string>
<string name="enable_proxy_title">Omogoči posredniški strežnik HTTP</string>
<string name="enable_proxy_descr">Nastavitev posredniškega strežnika HTTP za vse omrežne zahteve</string>
@ -1785,7 +1785,7 @@
<string name="routing_attr_height_description">Določitev omejitve višine vozila za določeno pot</string>
<string name="use_fast_recalculation">Pametno preračunavanje poti</string>
<string name="use_fast_recalculation_desc">Preračunavanje je začetnega dela zelo dolge poti</string>
<string name="osmo_share_my_location">Deli mojo lokacijo</string>
<string name="osmo_share_my_location">Objavi trenutni položaj</string>
<string name="shared_string_logoff">Odjava</string>
<string name="rendering_value_disabled_name">Onemogočeno</string>
<string name="rendering_value_walkingRoutesScopeOSMC_name">Barvanje poti po vrsti poti</string>
@ -1946,7 +1946,7 @@
<string name="activate_seamarks_plugin">Omogočite vstavek pomorskih oznak</string>
<string name="activate_srtm_plugin">Omogočite vstavek SRTM</string>
<string name="later">Kasneje</string>
<string name="get_full_version">Pridobi polno različico programa</string>
<string name="get_full_version">Polna različica</string>
<string name="regions">Območja</string>
<string name="region_maps">Zemljevidi regij</string>
@ -1962,4 +1962,45 @@
<string name="update_all">Posodobi vse (%1$s MB)</string>
<string name="free_downloads_used">Omejitev brezplačnih prejemov je dosežena.</string>
<string name="free_downloads_used_description">Videti je mogoče, koliko brezplačnih prejemov je že bilo izvedenih.</string>
</resources>
<string name="osm_edit_created_poi">Ustvarjena točka POI</string>
<string name="osm_edit_created_bug">Ustvarjen hrošč OSM</string>
<string name="shared_string_qr_code">Koda QR</string>
<string name="map_downloaded">Zemljevid je prejet</string>
<string name="map_downloaded_descr">Zemljevid %1$s je prejet in je pripravljen za uporabo.</string>
<string name="go_to_map">Na zemljevid</string>
<string name="simulate_initial_startup">Simuliraj prvi zagon programa</string>
<string name="share_geo">geo:</string>
<string name="share_menu_location">Objavi trenutni položaj</string>
<string name="shared_string_send">Pošlji</string>
<string name="application_dir_description">Izberite mapo za shranjevanje datotek zemljevidov.</string>
<string name="new_version">Nova različica</string>
<string name="begin_with_osmand_menu_group">Prvi koraki z OsmAnd</string>
<string name="features_menu_group">Zmožnosti</string>
<string name="help_us_to_improve_menu_group">Pomagajte nam izboljšati program</string>
<string name="other_menu_group">Drugo</string>
<string name="plugins_menu_group">Vstavki</string>
<string name="first_usage_item">Prva uporaba</string>
<string name="first_usage_item_description">Kako prejeti zemljevide in prikrojiti osnovne nastavitve</string>
<string name="navigation_item_description">Nastavitve navigacije</string>
<string name="faq_item">Pogosta vprašanja</string>
<string name="faq_item_description">Kako uporabljati vstavke</string>
<string name="map_viewing_item">Pogled zemljevida</string>
<string name="search_on_the_map_item">Iskanje po zemljevidu</string>
<string name="planning_trip_item">Planiranje potovanja</string>
<string name="osmand_ski_maps_item">Smučarski zemljevidi OsmAnd</string>
<string name="nautical_charts_item">Navtične karte</string>
<string name="audio_video_note_item">Zvočni in video zaznamki</string>
<string name="osm_editing_item">Urejanje OSM</string>
<string name="instalation_troubleshooting_item">Namestitev in odpravljanje napak</string>
<string name="techical_articles_item">Tehnični članki</string>
<string name="versions_item">Različice</string>
<string name="poll">Anketa</string>
<string name="contact_us">Stik z nami</string>
<string name="world_map_download_descr">Osnovni svetovni zemljevid (zemljevid sveta pri oddaljenem pogledu) je zastarel, ali pa ni nameščen. Brez tega zemljevida prikaz ni popoln.</string>
<string name="simulate_initial_startup_descr">Nastavi zastavico, ki določa prvi zagon programa, ostale nastavitve pa ostanejo nespremenjene.</string>
<string name="show_on_start_description">Možnost \'brez\' zažene v pogledu zemljevida</string>
<string name="enter_country_name">Vpis imena države</string>
<string name="contour_lines_and_hillshade_maps_item">Izohipse in senčenje zemljevida</string>
<string name="trip_recording_tool_item">Orodje za beleženje poti</string>
</resources>

View file

@ -8,7 +8,7 @@
<string name="av_camera_focus_macro">Макро режим фокуса</string>
<string name="av_camera_focus_auto">Ауто фокус</string>
<string name="shared_string_delete_all">Обриши све</string>
<string name="animate_routing_route_not_calculated">Прво израчунајте путању</string>
<string name="animate_routing_route_not_calculated">Најпре израчунајте путању</string>
<string name="animate_routing_route">Симулација помоћу израчунате путање </string>
<string name="animate_routing_gpx">Симулација помоћу GPX путање</string>
<string name="shared_string_remember_my_choice">Запамти мој избор</string>
@ -34,19 +34,19 @@
<string name="local_index_tile_data_minzoom">Минимални зум: %1$s</string>
<string name="announce_gpx_waypoints">Најави GPX waypoints</string>
<string name="announce_gpx_waypoints">GPX путне тачке</string>
<string name="speak_title">Најави…</string>
<string name="speak_descr">Подешавање најаве назива улица, саобраћајних упозорења, ограничења брзине</string>
<string name="speak_street_names">Обавештење - назив улице</string>
<string name="speak_speed_limit">Обавештење - ограничење брзине</string>
<string name="speak_cameras">Обавештење - камера</string>
<string name="speak_traffic_warnings">Обавештење - упозорења у саобраћају</string>
<string name="speak_street_names">Називи улица (ТТС)</string>
<string name="speak_speed_limit">Ограничење брзине</string>
<string name="speak_cameras">Камере</string>
<string name="speak_traffic_warnings">Упозорења у саобраћају</string>
<string name="osb_author_or_password_not_specified">Дефинишите ОСМ корисника и лозинку у подешавањима</string>
<string name="clear_intermediate_points">Обриши међутачке</string>
<string name="keep_intermediate_points">Сачувај међутачке</string>
<string name="new_directions_point_dialog">Већ имате дефинисане међутачке.</string>
<string name="context_menu_item_directions_to">Упутство до</string>
<string name="context_menu_item_directions_from">Упутство од</string>
<string name="context_menu_item_directions_to">Упутства до</string>
<string name="context_menu_item_directions_from">Упутства од</string>
<string name="route_descr_map_location">Карта : </string>
<string name="route_descr_lat_lon">Шир %1$.3f, дуж %2$.3f</string>
<string name="route_descr_current_location">Тренутна позиција</string>
@ -67,7 +67,7 @@
<string name="plugin_distance_point">Тачка</string>
<string name="gpx_file_name">назив GPX фајла</string>
<string name="gpx_saved_sucessfully">GPX датотека успешно сачувана на {0}</string>
<string name="osmand_distance_planning_plugin_name">Калкулатор растојања и Алат за планирање</string>
<string name="osmand_distance_planning_plugin_name">Калкулатор растојања и алат за планирање</string>
<string name="shared_string_do_not_show_again">Не приказуј поново</string>
<string name="distance_measurement_start_editing">Почните уређивање</string>
<string name="distance_measurement_finish_editing">Заврши уређивање</string>
@ -92,7 +92,7 @@
<string name="layer_recordings">Слој за снимање</string>
<string name="recording_context_menu_delete">Обриши запис</string>
<string name="recording_context_menu_play">Репродукуј</string>
<string name="recording_default_name">снимање</string>
<string name="recording_default_name">Снимање</string>
<string name="shared_string_control_start">Почни</string>
<string name="map_widget_av_notes">Аудио/видео белешке</string>
<string name="map_widget_distancemeasurement">Мерење удаљености</string>
@ -163,10 +163,10 @@
<string name="download_type_to_filter">укуцајте за филтрирање</string>
<string name="use_high_res_maps">Екран високе резолуције</string>
<string name="voice">глас</string>
<string name="voice">Снимљени глас</string>
<string name="no_vector_map_loaded">Векторске мапе нису учитане</string>
<string name="map_route_by_gpx">Навигација помоћу GPX</string>
<string name="gpx_files_not_found">GPX датотеке се не налазе у директоријуму</string>
<string name="gpx_files_not_found">Нема GPX фајлова у фасцикли стаза</string>
<string name="error_reading_gpx">Грешка при читању GPX података</string>
<string name="osb_bug_name">Грешка</string>
@ -202,7 +202,7 @@
<string name="show_route">Детаљи руте</string>
<string name="poi_namefinder_query_empty">Унети упит за претрагу POI</string>
<string name="layer_transport_route">Рута транспорта</string>
<string name="layer_osm_bugs">Дневник грешака ОСМ-а на мрежи</string>
<string name="layer_osm_bugs">Дневник ОСМ-а (на мрежи)</string>
<string name="layer_poi">POI…</string>
<string name="context_menu_item_search_poi">Претрага POI</string>
<string name="where_am_i">Где сам ја?</string>
@ -216,7 +216,7 @@
<string name="max_speed_none">ниједан</string>
<string name="stop_routing_confirm">Да ли сте сигурни да желите да прекинете навигацију?</string>
<string name="recording_context_menu_show">Прикажи</string>
<string name="recording_photo_description">Фотографија %1$s од %2$s</string>
<string name="recording_photo_description">Фотографија %1$s %2$s</string>
<string name="av_def_action_picture">Сликај</string>
<string name="recording_context_menu_precord">Сликај</string>
<string name="dropbox_plugin_description">Dropbox додатак омогућава да синхронизујете путање и аудио/видео белешке са вашим Dropbox налогом.</string>
@ -277,7 +277,7 @@
<string name="favourites_edit_dialog_category">Врста</string>
<string name="shared_string_no_thanks">Не, хвала</string>
<string name="basemap_missing">Основна мапа света (која покрива цео свет на малом увеличању) недостаје. Молим, преузмите World_basemap_x.obf ради целокупности средине.</string>
<string name="local_index_installed">Издање</string>
<string name="local_index_installed">Локално издање</string>
<string name="local_index_no_items_to_do">Нема ставки за %1$s</string>
<string name="local_index_descr_title">Управљајте датотекама мапа</string>
<string name="local_index_mi_restore">Покрени</string>
@ -291,8 +291,8 @@
<string name="local_index_transport_data">Подаци јавног превоза</string>
<string name="local_index_map_data">Подаци мапе</string>
<string name="local_indexes_cat_backup">Искључено</string>
<string name="local_indexes_cat_tts">Гласовни подаци (ТТС)</string>
<string name="local_indexes_cat_voice">Гласовни подаци (снимци)</string>
<string name="local_indexes_cat_tts">Гласовне напомене (ТТС)</string>
<string name="local_indexes_cat_voice">Гласовне напомене (снимци)</string>
<string name="local_indexes_cat_poi">Подаци ПОИ-а</string>
<string name="ttsvoice">Глас ТТС-а</string>
@ -338,10 +338,10 @@
<string name="text_size">Величина писма</string>
<string name="traffic_warning_speed_limit">Ограничење брзине</string>
<string name="traffic_warning_stop">Знак стоп</string>
<string name="speak_pedestrian">Најављуј прешачке прелазе</string>
<string name="speak_pedestrian">Пешачки прелази</string>
<string name="rendering_attr_roadStyle_name">Врста пута</string>
<string name="avoid_roads_msg">Можете да изаберете заменску путању избором путева за избегавање</string>
<string name="navigation_over_track">Да ли започети навођење по стази?</string>
<string name="navigation_over_track">Да започнем навођење дуж стазе?</string>
<string name="rendering_value_orange_name">Наранџаста</string>
<string name="traffic_warning_railways">Пружни прелаз</string>
<string name="show_railway_warnings">Приказуј пружне прелазе</string>

View file

@ -1,5 +1,4 @@
<?xml version='1.0' encoding='utf-8'?>
<resources><string name="screen_is_locked">För att låsa upp skärmen tryck på låsikonen</string>
<?xml version="1.0" encoding="utf-8" standalone="no"?><resources><string name="screen_is_locked">För att låsa upp skärmen tryck på låsikonen</string>
<string name="ChooseCountry">Välj land</string>
<string name="choose_city">Välj stad</string>
<string name="choose_building">Välj byggnad</string>
@ -1954,18 +1953,18 @@
<string name="shared_string_qr_code">QR-kod</string>
<string name="enter_country_name">Ange land</string>
<string name="new_version">Ny version</string>
<string name="begin_with_osmand_menu_group">Börja med OsmAnd</string>
<string name="begin_with_osmand_menu_group">Inledning till OsmAnd</string>
<string name="features_menu_group">Funktioner</string>
<string name="help_us_to_improve_menu_group">Hjälp till att förbättra OsmAnd</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, grundinställningar</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">Hur man använder insticksmoduler</string>
<string name="map_viewing_item">Kartvisning</string>
<string name="search_on_the_map_item">Sök på kartan</string>
<string name="search_on_the_map_item">Söka på kartan</string>
<string name="planning_trip_item">Att planera en resa</string>
<string name="trip_recording_tool_item">Verktyg för inspelning av resa</string>
<string name="osmand_ski_maps_item">OsmAnd skidkartor</string>
@ -1976,4 +1975,7 @@
<string name="techical_articles_item">Tekniska artiklar</string>
<string name="versions_item">Versioner</string>
<string name="contact_us">Kontakta oss</string>
</resources>
<string name="osm_edit_created_poi">Skapat en OSM POI</string>
<string name="osm_edit_created_bug">Skapat en OSM-bugg</string>
<string name="world_map_download_descr">Baskarta över världen (täcker hela världen med låg zoomningsgrad) saknas eller är gammal. Hämta gärna denna karta till din enhet.</string>
</resources>

View file

@ -68,7 +68,7 @@
<string name="poi_baby_goods">嬰幼童商店</string>
<string name="poi_bag">包包店</string>
<string name="poi_bathroom_furnishing">浴室裝備</string>
<string name="poi_bed">臥室裝備</string>
<string name="poi_bed">寢具商店</string>
<string name="poi_boutique">時尚精品</string>
<string name="poi_carpet">地毯店</string>
<string name="poi_charity">慈善義賣店</string>
@ -1509,7 +1509,7 @@
<string name="poi_payment_dogecoin_no">不接受多吉幣</string>
<string name="poi_inscription">碑文</string>
<string name="poi_memorial_cross">十字</string>
<string name="poi_memorial_cross">十字</string>
<string name="poi_memorial_vehicle">車輛</string>
<string name="poi_memorial_obelisk">方尖碑</string>
@ -2040,4 +2040,102 @@
<string name="poi_crop_rice">作物:水稻</string>
<string name="poi_crop_grass">作物:牧草</string>
<string name="poi_crop_corn">作物:玉米</string>
<string name="poi_crop_cereal">作物:穀類</string>
<string name="poi_crop_sugarcane">作物:甘蔗</string>
<string name="poi_crop_wheat">作物:小麥</string>
<string name="poi_crop_soy">作物:大豆</string>
<string name="poi_crop_barley">作物:大麥</string>
<string name="poi_crop_vegetables">作物:蔬菜</string>
<string name="poi_crop_hop">作物:啤酒花</string>
<string name="poi_crop_rape">作物:油菜[</string>
<string name="poi_crop_beet">作物:甜菜</string>
<string name="poi_crop_lavender">作物:薰衣草</string>
<string name="poi_crop_tea">作物:茶</string>
<string name="poi_crop_coffee">作物:咖啡</string>
<string name="poi_crop_poultry">作物:家禽</string>
<string name="poi_crop_sunflower">作物:向日葵</string>
<string name="poi_crop_raspberry">作物:覆盆子</string>
<string name="poi_crop_tobacco">作物:煙草</string>
<string name="poi_crop_strawberry">作物:草莓</string>
<string name="poi_crop_vegetables_flowers">作物:蔬菜、花卉</string>
<string name="poi_crop_cassava">作物:樹薯</string>
<string name="poi_crop_cranberry">作物:蔓越莓</string>
<string name="poi_crop_asparagus">作物:蘆筍</string>
<string name="poi_crop_flowers">作物:花卉</string>
<string name="poi_surveillance_indoor">監視器:室內</string>
<string name="poi_surveillance_outdoor">監視器:戶外</string>
<string name="poi_surveillance_public">監視器:公共場所</string>
<string name="poi_clothes_women">女性衣物</string>
<string name="poi_clothes_underwear">內衣</string>
<string name="poi_clothes_men">男性服裝</string>
<string name="poi_clothes_wedding">婚紗禮服</string>
<string name="poi_clothes_sports">運動服</string>
<string name="poi_clothes_babies">嬰兒服</string>
<string name="poi_clothes_denim">牛仔服裝</string>
<string name="poi_clothes_workwear">工作服</string>
<string name="poi_clothes_hats">帽子</string>
<string name="poi_tourism_yes">觀光目的</string>
<string name="poi_clothes_fur">毛皮</string>
<string name="poi_clothes_leather">皮革</string>
<string name="poi_clothes_costumes">服裝</string>
<string name="poi_clothes_traditional">傳統服裝</string>
<string name="poi_clothes_suits">西裝</string>
<string name="poi_clothes_maternity">孕婦裝</string>
<string name="poi_clothes_vintage">典型服裝</string>
<string name="poi_clothes_oversize">特大服裝</string>
<string name="poi_clothes_schoolwear">校服</string>
<string name="poi_clothes_swimwear">泳裝</string>
<string name="poi_clothes_socks">襪子</string>
<string name="poi_clothes_shirts">襯衫</string>
<string name="poi_clothes_dance">跳舞服裝</string>
<string name="poi_clothes_military">軍服</string>
<string name="poi_historic_milestone">歷史事件里程碑</string>
<string name="poi_shoes_children">兒童鞋</string>
<string name="poi_shoes_women">女鞋</string>
<string name="poi_shoes_sport">運動鞋</string>
<string name="poi_shoes_men">男鞋</string>
<string name="poi_shoes_orthopedic">矯形鞋</string>
<string name="poi_historic_manor">歷史上著名宅邸</string>
<string name="poi_castle_type_stately">城堡類型:莊嚴</string>
<string name="poi_castle_type_defensive">城堡類型:防禦</string>
<string name="poi_castle_type_fortress">城堡類型:堡壘</string>
<string name="poi_castle_type_palace">城堡類型:宮殿</string>
<string name="poi_castle_type_kremlin">城堡類型:克里姆林宮</string>
<string name="poi_castle_type_defensive_stately">城堡類型:防禦、莊嚴</string>
<string name="poi_castle_type_castrum">城堡類型:古羅馬兵營</string>
<string name="poi_castle_type_shiro">城堡類型:城</string>
<string name="poi_massage_thai">按摩:泰式</string>
<string name="poi_massage_sexual">按摩:情趣</string>
<string name="poi_massage_chinese">按摩:中式</string>
<string name="poi_massage_yes">按摩服務</string>
<string name="poi_massage_therapeutic">按摩:治療</string>
<string name="poi_sauna_yes">三溫暖服務</string>
<string name="poi_solarium_yes">日光浴服務</string>
<string name="poi_tents_yes">允許宿營</string>
<string name="poi_tents_no">不允許宿營</string>
<string name="poi_openfire_yes">允許用火</string>
<string name="poi_openfire_no">不允許用火</string>
<string name="poi_backcountry_yes">野外露營</string>
<string name="poi_backcountry_no">野外露營:否</string>
<string name="poi_scout_yes">偵察營:是</string>
<string name="poi_scout_no">偵察營:否</string>
<string name="poi_group_only_yes">只有群組:是</string>
<string name="poi_group_only_no">只有群組:否</string>
<string name="poi_washing_machine_yes">清洗機:有</string>
<string name="poi_washing_machine_no">清洗機:無</string>
<string name="poi_shower_yes">淋浴:有</string>
<string name="poi_shower_no">淋浴:無</string>
<string name="poi_shower_hot">淋浴:熱的</string>
<string name="poi_shower_outdoor">淋浴:戶外</string>
<string name="poi_shower_cold">淋浴:冷的</string>
<string name="poi_shower_indoor">淋浴:室內</string>
</resources>

View file

@ -1,5 +1,4 @@
<?xml version='1.0' encoding='utf-8'?>
<resources><string name="rendering_attr_roadColors_description">選擇道路的色彩調配:</string>
<?xml version="1.0" encoding="utf-8" standalone="no"?><resources><string name="rendering_attr_roadColors_description">選擇道路的色彩調配:</string>
<string name="rendering_attr_roadColors_name">道路的色彩調配</string>
<string name="map_widget_show_destination_arrow">顯示目的地方向</string>
<string name="enable_plugin_monitoring_services">啟用旅程錄製外掛元件,以使用位置日誌服務(GPX 記錄,線上追蹤)</string>
@ -827,13 +826,13 @@
<string name="show_gps_coordinates_text">在地圖上顯示 GPS 狀態</string>
<string name="use_internet_to_download_tile">使用網路下載缺失的地圖圖磚</string>
<string name="app_description">導航應用程式</string>
<string name="search_button"></string>
<string name="search_activity"></string>
<string name="search_button"></string>
<string name="search_activity"></string>
<string name="searchpoi_activity">選取興趣點</string>
<string name="search_POI_level_btn">尋更多</string>
<string name="search_POI_level_btn">更多</string>
<string name="incremental_search_city">漸進式城市查尋</string>
<string name="incremental_search_street">漸進式查街道</string>
<string name="incremental_search_building">漸進式查建築物</string>
<string name="incremental_search_street">漸進式查街道</string>
<string name="incremental_search_building">漸進式查建築物</string>
<string name="choose_available_region">由列表選取區域</string>
<string name="choose_intersected_street">選擇交叉路口</string>
<string name="Closest_Amenities">最近的設施</string>
@ -1568,7 +1567,7 @@
<string name="osmo_use_https_descr">使用安全協定連線到伺服器</string>
<string name="osmo_use_https">使用 HTTPS</string>
<string name="map_update">有 %1$s 個地圖可更新</string>
<string name="search_for"></string>
<string name="search_for"></string>
<string name="coordinates">座標</string>
<string name="home_button">首頁</string>
@ -1757,7 +1756,7 @@
<string name="shared_string_do_not_use">不使用</string>
<string name="shared_string_address">地址</string>
<string name="shared_string_show_description">顯示記述</string>
<string name="shared_string_search">搜尋</string>
<string name="shared_string_search">查詢</string>
<string name="shared_string_places">地點</string>
<string name="shared_string_open">開啓</string>
<string name="rendering_attr_OSMMapperAssistant_name">OSM 製圖助手</string>
@ -1966,7 +1965,7 @@
<string name="share_geo">地理:</string>
<string name="share_menu_location">分享位置</string>
<string name="shared_string_send">發送</string>
<string name="hello_blank_fragment">哈囉,成空的片段</string>
<string name="application_dir_description">選擇您想要在何處儲存地圖檔案。</string>
<string name="show_on_start_description">\'關閉\' 直接啟動地圖螢幕</string>
<string name="map_downloaded">地圖已下載</string>
@ -1976,19 +1975,19 @@
<string name="enter_country_name">輸入國家/地區名稱</string>
<string name="world_map_download_descr">全球底圖 (涵蓋在整個縮小的世界) 丟失或過時。請考量一下為了完整的環境,下載全球底圖。</string>
<string name="new_version">新版本</string>
<string name="begin_with_osmand_menu_group">以 OsmAnd 開始</string>
<string name="begin_with_osmand_menu_group">跟 OsmAnd 的第一步</string>
<string name="features_menu_group">功能</string>
<string name="help_us_to_improve_menu_group">幫助我們改進 OsmAnd</string>
<string name="other_menu_group">其它</string>
<string name="plugins_menu_group">外掛元件</string>
<string name="first_usage_item">首次使用</string>
<string name="first_usage_item_description">如何下載地圖、基本設定</string>
<string name="first_usage_item_description">如何下載地圖、設置基本設定</string>
<string name="navigation_item_description">設置導航</string>
<string name="faq_item">常見問題</string>
<string name="faq_item_description">如何使用外掛元件</string>
<string name="map_viewing_item">地圖檢視</string>
<string name="search_on_the_map_item">在地圖上查尋</string>
<string name="planning_trip_item">旅程規劃</string>
<string name="search_on_the_map_item">地圖查詢中</string>
<string name="planning_trip_item">規劃一次旅程</string>
<string name="contour_lines_and_hillshade_maps_item">等高線和山體陰影地圖</string>
<string name="trip_recording_tool_item">旅程記錄工具</string>
<string name="osmand_ski_maps_item">OsmAnd 滑雪地圖</string>
@ -2000,4 +1999,6 @@
<string name="versions_item">版本</string>
<string name="poll">投票</string>
<string name="contact_us">聯絡我們</string>
</resources>
<string name="osm_edit_created_poi">建立 OSM 的興趣點</string>
<string name="osm_edit_created_bug">建立 OSM 的錯誤</string>
</resources>

View file

@ -2369,4 +2369,8 @@
<string name="poi_concentration_camp_nazism">Type: nazi</string>
<string name="poi_concentration_camp_gulag">Type: gulag</string>
<string name="poi_temperature">Temperature</string>
<string name="poi_bathing_yes">Bathing: yes</string>
<string name="poi_bathing_no">Bathing: no</string>
</resources>

View file

@ -9,6 +9,8 @@
3. All your modified/created strings are in the top of the file (to make easier find what\'s translated).
PLEASE: Have a look at http://code.google.com/p/osmand/wiki/UIConsistency, it may really improve your and our work :-) Thx - Hardy
-->
<string name="osm_edit_created_poi">Created OSM POI</string>
<string name="osm_edit_created_bug">Created OSM bug</string>
<string name="world_map_download_descr">World basemap (covering the whole world at small zooms) is missing or outdated. Please consider downloading World basemap for a complete environment.</string>
<string name="shared_string_qr_code">QR-code</string>
<string name="map_downloaded">Map downloaded</string>
@ -2028,25 +2030,23 @@ Afghanistan, Albania, Algeria, Andorra, Angola, Anguilla, Antigua and Barbuda, A
<string name="free_downloads_used">Free downloads used</string>
<string name="free_downloads_used_description">You can set how many free downloads you have used</string>
<!-- TODO: Remove or change this placeholder text -->
<string name="hello_blank_fragment">Hello blank fragment</string>
<string name="application_dir_description">Choose where you want to save map files.</string>
<string name="show_on_start_description">\'Off\' directly launches map screen</string>
<string name="enter_country_name">Enter country name</string>
<string name="new_version">New version</string>
<string name="begin_with_osmand_menu_group">Begin with OsmAnd</string>
<string name="begin_with_osmand_menu_group">First steps with OsmAnd</string>
<string name="features_menu_group">Features</string>
<string name="help_us_to_improve_menu_group">Help us to improve OsmAnd</string>
<string name="other_menu_group">Other</string>
<string name="plugins_menu_group">Plugins</string>
<string name="first_usage_item">First usage</string>
<string name="first_usage_item_description">How to download map, basic settings</string>
<string name="first_usage_item_description">How to download maps, set basic settings</string>
<string name="navigation_item_description">Setup navigation</string>
<string name="faq_item">FAQ</string>
<string name="faq_item_description">How to use plugins</string>
<string name="map_viewing_item">Map viewing</string>
<string name="search_on_the_map_item">Search on the map</string>
<string name="planning_trip_item">Planning trip</string>
<string name="search_on_the_map_item">Map searching</string>
<string name="planning_trip_item">Planning a trip</string>
<string name="contour_lines_and_hillshade_maps_item">Contour lines and hillshade maps</string>
<string name="trip_recording_tool_item">Trip recording tool</string>
<string name="osmand_ski_maps_item">OsmAnd Ski maps</string>
@ -2056,6 +2056,6 @@ Afghanistan, Albania, Algeria, Andorra, Angola, Anguilla, Antigua and Barbuda, A
<string name="instalation_troubleshooting_item">Installation and troubleshooting</string>
<string name="techical_articles_item">Technical articles</string>
<string name="versions_item">Versions</string>
<string name="poll">poll</string>
<string name="poll">Poll</string>
<string name="contact_us">Contact us</string>
</resources>

View file

@ -239,7 +239,7 @@ public class PointDescription {
}
public static PointDescription deserializeFromString(String s, LatLon l) {
PointDescription pd = null;
PointDescription pd = null ;
if (s != null && s.length() > 0) {
int in = s.indexOf('#');
if (in >= 0) {
@ -252,7 +252,10 @@ public class PointDescription {
}
}
}
if(pd != null && pd.isLocation() && l != null) {
if(pd == null) {
pd = new PointDescription(POINT_TYPE_LOCATION, "");
}
if(pd.isLocation() && l != null) {
pd.setLat(l.getLatitude());
pd.setLon(l.getLongitude());
}

View file

@ -1,6 +1,7 @@
package net.osmand.plus;
import android.annotation.SuppressLint;
import android.annotation.TargetApi;
import android.content.Context;
import android.content.res.Configuration;
@ -11,7 +12,6 @@ import android.net.NetworkInfo;
import android.os.Build;
import android.os.Environment;
import android.support.annotation.Nullable;
import net.osmand.IndexConstants;
import net.osmand.StateChangedListener;
import net.osmand.ValueHolder;
@ -29,7 +29,6 @@ import net.osmand.plus.helpers.SearchHistoryHelper;
import net.osmand.plus.render.RendererRegistry;
import net.osmand.plus.routing.RouteProvider.RouteService;
import net.osmand.render.RenderingRulesStorage;
import java.io.File;
import java.io.IOException;
import java.lang.ref.WeakReference;
@ -1313,6 +1312,7 @@ public class OsmandSettings {
putString(EXTERNAL_STORAGE_DIR_V19, externalStorageDir).commit();
}
@SuppressLint("NewApi")
@Nullable
public File getSecondaryStorage() {
if(Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) {
@ -1824,7 +1824,8 @@ public class OsmandSettings {
public final OsmandPreference<Boolean> NATIVE_RENDERING_FAILED = new BooleanPreference("native_rendering_failed_init", false).makeGlobal();
public final OsmandPreference<Boolean> USE_OPENGL_RENDER = new BooleanPreference("use_opengl_render",
Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH).makeGlobal().cache();
false /*Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH*/
).makeGlobal().cache();
public final OsmandPreference<Boolean> OPENGL_RENDER_FAILED = new BooleanPreference("opengl_render_failed", false).makeGlobal().cache();

View file

@ -24,7 +24,6 @@ import android.preference.PreferenceScreen;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.Toast;
import net.osmand.IProgress;
import net.osmand.IndexConstants;
import net.osmand.access.AccessibleToast;
@ -622,4 +621,6 @@ public class SettingsGeneralActivity extends SettingsBaseActivity {
}
return setFiles;
}
}

View file

@ -1,7 +1,5 @@
package net.osmand.plus.audionotes;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
@ -9,16 +7,13 @@ import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Paint.Style;
import android.graphics.PointF;
import android.widget.ArrayAdapter;
import net.osmand.access.AccessibleAlertBuilder;
import net.osmand.data.DataTileManager;
import net.osmand.data.LatLon;
import net.osmand.data.PointDescription;
import net.osmand.data.QuadRect;
import net.osmand.data.QuadTree;
import net.osmand.data.RotatedTileBox;
import net.osmand.plus.ContextMenuAdapter;
import net.osmand.plus.ContextMenuAdapter.OnContextMenuClick;
import net.osmand.plus.R;
import net.osmand.plus.activities.MapActivity;
import net.osmand.plus.audionotes.AudioVideoNotesPlugin.Recording;
@ -26,6 +21,7 @@ import net.osmand.plus.views.ContextMenuLayer.IContextMenuProvider;
import net.osmand.plus.views.OsmandMapLayer;
import net.osmand.plus.views.OsmandMapTileView;
import java.util.ArrayList;
import java.util.List;
public class AudioNotesLayer extends OsmandMapLayer implements IContextMenuProvider {
@ -40,6 +36,7 @@ public class AudioNotesLayer extends OsmandMapLayer implements IContextMenuProvi
private Bitmap audio;
private Bitmap video;
private Bitmap photo;
private Bitmap pointSmall;
public AudioNotesLayer(MapActivity activity, AudioVideoNotesPlugin plugin) {
this.activity = activity;
@ -58,6 +55,8 @@ public class AudioNotesLayer extends OsmandMapLayer implements IContextMenuProvi
video = BitmapFactory.decodeResource(view.getResources(), R.drawable.map_note_video);
photo = BitmapFactory.decodeResource(view.getResources(), R.drawable.map_note_photo);
pointSmall = BitmapFactory.decodeResource(view.getResources(), R.drawable.map_note_small);
paintIcon = new Paint();
point = new Paint();
@ -83,12 +82,26 @@ public class AudioNotesLayer extends OsmandMapLayer implements IContextMenuProvi
@Override
public void onPrepareBufferImage(Canvas canvas, RotatedTileBox tileBox, DrawSettings settings) {
if (tileBox.getZoom() >= startZoom) {
float iconSize = audio.getWidth() * 3 / 2.5f;
QuadTree<QuadRect> boundIntersections = initBoundIntersections(tileBox);
DataTileManager<Recording> recs = plugin.getRecordings();
final QuadRect latlon = tileBox.getLatLonBounds();
List<Recording> objects = recs.getObjects(latlon. top, latlon.left, latlon.bottom, latlon.right);
List<Recording> objects = recs.getObjects(latlon.top, latlon.left, latlon.bottom, latlon.right);
List<Recording> fullObjects = new ArrayList<>();
for (Recording o : objects) {
int x = (int) tileBox.getPixXFromLatLon(o.getLatitude(), o.getLongitude());
int y = (int) tileBox.getPixYFromLatLon(o.getLatitude(), o.getLongitude());
float x = tileBox.getPixXFromLatLon(o.getLatitude(), o.getLongitude());
float y = tileBox.getPixYFromLatLon(o.getLatitude(), o.getLongitude());
if (intersects(boundIntersections, x, y, iconSize, iconSize)) {
canvas.drawBitmap(pointSmall, x - pointSmall.getWidth() / 2, y - pointSmall.getHeight() / 2, paintIcon);
} else {
fullObjects.add(o);
}
}
for (Recording o : fullObjects) {
float x = tileBox.getPixXFromLatLon(o.getLatitude(), o.getLongitude());
float y = tileBox.getPixYFromLatLon(o.getLatitude(), o.getLongitude());
Bitmap b;
if (o.isPhoto()) {
b = photo;
@ -96,7 +109,6 @@ public class AudioNotesLayer extends OsmandMapLayer implements IContextMenuProvi
b = audio;
} else {
b = video;
}
canvas.drawBitmap(b, x - b.getWidth() / 2, y - b.getHeight() / 2, paintIcon);
}

View file

@ -235,6 +235,18 @@ public class AudioVideoNotesPlugin extends OsmandPlugin {
return "";
}
public String getType(Context ctx) {
if (this.isAudio()) {
return ctx.getResources().getString(R.string.shared_string_audio);
} else if (this.isVideo()) {
return ctx.getResources().getString(R.string.shared_string_video);
} else if (this.isPhoto()) {
return ctx.getResources().getString(R.string.shared_string_photo);
} else {
return "";
}
}
public String getSearchHistoryType() {
if (isPhoto()) {
return PointDescription.POINT_TYPE_PHOTO_NOTE;
@ -254,7 +266,7 @@ public class AudioVideoNotesPlugin extends OsmandPlugin {
}
public boolean isAudio() {
return file.getName().endsWith(MPEG4_EXTENSION) || file.getName().endsWith(THREEGP_EXTENSION);
return file.getName().endsWith(THREEGP_EXTENSION);
}
private String convertDegToExifRational(double l) {

View file

@ -70,6 +70,14 @@ public class FavoriteImageDrawable extends Drawable {
canvas.translate(-dx, -dy);
}
public void drawBitmapInCenter(Canvas canvas, float x, float y) {
float dx = x - getIntrinsicWidth() / 2f;
float dy = y - getIntrinsicHeight() / 2f;
canvas.translate(dx, dy);
draw(canvas);
canvas.translate(-dx, -dy);
}
@Override
public int getOpacity() {
return 0;

View file

@ -1,5 +1,26 @@
package net.osmand.plus.dashboard;
import gnu.trove.list.array.TIntArrayList;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Locale;
import net.osmand.IndexConstants;
import net.osmand.ValueHolder;
import net.osmand.access.AccessibleToast;
import net.osmand.plus.OsmandApplication;
import net.osmand.plus.OsmandSettings;
import net.osmand.plus.ProgressImplementation;
import net.osmand.plus.R;
import net.osmand.util.Algorithms;
import android.annotation.TargetApi;
import android.app.Activity;
import android.app.AlertDialog;
@ -24,48 +45,8 @@ import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
import net.osmand.IndexConstants;
import net.osmand.ValueHolder;
import net.osmand.access.AccessibleToast;
import net.osmand.plus.OsmandApplication;
import net.osmand.plus.OsmandSettings;
import net.osmand.plus.ProgressImplementation;
import net.osmand.plus.R;
import net.osmand.util.Algorithms;
public class DashChooseAppDirFragment {
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Locale;
import gnu.trove.list.array.TIntArrayList;
public class DashChooseAppDirFragment extends DashBaseFragment {
public static final String TAG = "DASH_CHOOSE_APP_DIR_FRAGMENT";
private ChooseAppDirFragment fragment;
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
fragment = new ChooseAppDirFragment(activity, this);
}
@Override
public void onOpenDash() {
}
@Override
public View initView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
return fragment.initView(inflater, container, savedInstanceState);
}
public static class ChooseAppDirFragment {
public static final int VERSION_DEFAULTLOCATION_CHANGED = 19;

View file

@ -1,106 +0,0 @@
package net.osmand.plus.dashboard;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import net.osmand.plus.OsmandSettings;
import net.osmand.plus.R;
import net.osmand.plus.activities.MapActivity;
import net.osmand.plus.dashboard.tools.DashFragmentData;
import net.osmand.plus.download.DownloadActivity;
/**
* Created by Denis on
* 26.03.2015.
*/
public class DashFirstTimeFragment extends DashBaseFragment {
public static final String TAG = "DASH_FIRST_TIME_FRAGMENT";
private static final DashFragmentData.ShouldShowFunction SHOULD_SHOW_FUNCTION =
new FirstTimeShouldShow();
static final DashFragmentData FRAGMENT_DATA =
new DashFragmentData(TAG, DashFirstTimeFragment.class, SHOULD_SHOW_FUNCTION, 110, null);
public static boolean interestedInFirstTime = true;
@Override
public void onOpenDash() {
}
@Override
public View initView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = getActivity().getLayoutInflater().inflate(R.layout.dash_first_time, container, false);
view.findViewById(R.id.select_region).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
final OsmandSettings.DrivingRegion[] drs = OsmandSettings.DrivingRegion.values();
final OsmandSettings.DrivingRegion currentRegion = getMyApplication().getSettings().DRIVING_REGION.get();
String[] entries = new String[drs.length];
int currentIndex = 0;
for (int i = 0; i < entries.length; i++) {
if (currentRegion.equals(drs[i])){
currentIndex = i;
}
entries[i] = getString(drs[i].name); // + " (" + drs[i].defMetrics.toHumanString(this) +")" ;
}
builder.setSingleChoiceItems(entries, currentIndex, null);
builder.setNegativeButton(R.string.shared_string_cancel, null);
builder.setPositiveButton(R.string.shared_string_ok, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
int selectedPosition = ((AlertDialog)dialog).getListView().getCheckedItemPosition();
getMyApplication().getSettings().DRIVING_REGION.set(drs[selectedPosition]);
updateCurrentRegion(getView());
}
});
builder.show();
}
});
view.findViewById(R.id.hide).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
interestedInFirstTime = false;
dashboard.refreshDashboardFragments();
}
});
view.findViewById(R.id.download_map).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(getActivity(), DownloadActivity.class);
intent.putExtra(DownloadActivity.TAB_TO_OPEN, DownloadActivity.DOWNLOAD_TAB);
getActivity().startActivity(intent);
}
});
updateCurrentRegion(view);
((ImageView)view.findViewById(R.id.car_icon)).setImageDrawable(getMyApplication().getIconsCache().getContentIcon(R.drawable.ic_action_car_dark));
return view;
}
private void updateCurrentRegion(View view) {
((TextView) view.findViewById(R.id.region)).setText(getMyApplication().getSettings().DRIVING_REGION.get().name);
}
private static class FirstTimeShouldShow extends DashFragmentData.ShouldShowFunction {
@Override
public boolean shouldShow(OsmandSettings settings, MapActivity activity, String tag) {
return activity.getMyApplication().getAppInitializer().isFirstTime(activity)
&& DashFirstTimeFragment.interestedInFirstTime;
}
}
}

View file

@ -21,9 +21,6 @@ import java.util.Calendar;
public class DashRateUsFragment extends DashBaseFragment {
public static final String TAG = "DASH_RATE_US_FRAGMENT";
// TODO move to resources
public static final String EMAIL = "support@osmand.net";
// Imported in shouldShow method
private static OsmandSettings settings;
private FragmentState state = FragmentState.INITIAL_STATE;
@ -143,15 +140,16 @@ public class DashRateUsFragment extends DashBaseFragment {
}
dashboard.refreshDashboardFragments();
return;
case USER_HATES_APP:
case USER_DISLIKES_APP:
String email = getString(R.string.support_email);
settings.RATE_US_STATE.set(RateUsState.DISLIKED_WITH_MESSAGE);
settings.NUMBER_OF_APPLICATION_STARTS.set(0);
settings.LAST_DISPLAY_TIME.set(System.currentTimeMillis());
dashboard.refreshDashboardFragments();
Intent sendEmail = new Intent(Intent.ACTION_SENDTO);
sendEmail.setType("text/plain");
sendEmail.setData(Uri.parse("mailto:" + EMAIL));
sendEmail.putExtra(Intent.EXTRA_EMAIL, EMAIL);
sendEmail.setData(Uri.parse("mailto:" + email));
sendEmail.putExtra(Intent.EXTRA_EMAIL, email);
startActivity(sendEmail);
break;
}
@ -177,7 +175,7 @@ public class DashRateUsFragment extends DashBaseFragment {
public void onClick(View v) {
switch (state) {
case INITIAL_STATE:
state = FragmentState.USER_HATES_APP;
state = FragmentState.USER_DISLIKES_APP;
header.setText(getResources().getString(R.string.user_hates_app_get_feedback));
subheader.setText(getResources().getString(R.string.user_hates_app_get_feedback_long));
@ -187,7 +185,7 @@ public class DashRateUsFragment extends DashBaseFragment {
case USER_LIKES_APP:
settings.RATE_US_STATE.set(RateUsState.IGNORED);
break;
case USER_HATES_APP:
case USER_DISLIKES_APP:
settings.RATE_US_STATE.set(RateUsState.DISLIKED_WITHOUT_MESSAGE);
break;
}
@ -200,7 +198,7 @@ public class DashRateUsFragment extends DashBaseFragment {
private enum FragmentState {
INITIAL_STATE,
USER_LIKES_APP,
USER_HATES_APP
USER_DISLIKES_APP
}
public enum RateUsState {
@ -211,7 +209,7 @@ public class DashRateUsFragment extends DashBaseFragment {
DISLIKED_WITHOUT_MESSAGE
}
public static class RateUsShouldShow extends DashboardOnMap.SettingsShouldShow {
public static class RateUsShouldShow extends DashboardOnMap.DefaultShouldShow {
@Override
public boolean shouldShow(OsmandSettings settings, MapActivity activity, String tag) {
return DashRateUsFragment.shouldShow(settings)

View file

@ -1,5 +1,34 @@
package net.osmand.plus.dashboard;
import java.lang.ref.WeakReference;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import net.osmand.PlatformUtil;
import net.osmand.data.LatLon;
import net.osmand.plus.ContextMenuAdapter;
import net.osmand.plus.ContextMenuAdapter.OnContextMenuClick;
import net.osmand.plus.ContextMenuAdapter.OnRowItemClick;
import net.osmand.plus.IconsCache;
import net.osmand.plus.OsmandApplication;
import net.osmand.plus.OsmandPlugin;
import net.osmand.plus.OsmandSettings;
import net.osmand.plus.R;
import net.osmand.plus.activities.IntermediatePointsDialog;
import net.osmand.plus.activities.MapActivity;
import net.osmand.plus.dashboard.tools.DashFragmentData;
import net.osmand.plus.dashboard.tools.DashboardSettingsDialogFragment;
import net.osmand.plus.dashboard.tools.TransactionBuilder;
import net.osmand.plus.dialogs.ConfigureMapMenu;
import net.osmand.plus.download.DownloadActivity;
import net.osmand.plus.helpers.AndroidUiHelper;
import net.osmand.plus.helpers.WaypointDialogHelper;
import net.osmand.plus.helpers.WaypointHelper.LocationPointWrapper;
import net.osmand.plus.routing.RoutingHelper;
import net.osmand.plus.views.DownloadedRegionsLayer;
import net.osmand.plus.views.OsmandMapTileView;
import android.annotation.SuppressLint;
import android.content.Intent;
import android.graphics.drawable.Drawable;
@ -31,36 +60,6 @@ import com.github.ksoichiro.android.observablescrollview.ObservableScrollView;
import com.github.ksoichiro.android.observablescrollview.ObservableScrollViewCallbacks;
import com.github.ksoichiro.android.observablescrollview.ScrollState;
import net.osmand.PlatformUtil;
import net.osmand.data.LatLon;
import net.osmand.plus.ContextMenuAdapter;
import net.osmand.plus.ContextMenuAdapter.OnContextMenuClick;
import net.osmand.plus.ContextMenuAdapter.OnRowItemClick;
import net.osmand.plus.IconsCache;
import net.osmand.plus.OsmandApplication;
import net.osmand.plus.OsmandPlugin;
import net.osmand.plus.OsmandSettings;
import net.osmand.plus.R;
import net.osmand.plus.activities.IntermediatePointsDialog;
import net.osmand.plus.activities.MapActivity;
import net.osmand.plus.dashboard.tools.DashFragmentData;
import net.osmand.plus.dashboard.tools.DashboardSettingsDialogFragment;
import net.osmand.plus.dashboard.tools.TransactionBuilder;
import net.osmand.plus.dialogs.ConfigureMapMenu;
import net.osmand.plus.download.DownloadActivity;
import net.osmand.plus.helpers.AndroidUiHelper;
import net.osmand.plus.helpers.WaypointDialogHelper;
import net.osmand.plus.helpers.WaypointHelper.LocationPointWrapper;
import net.osmand.plus.routing.RoutingHelper;
import net.osmand.plus.views.DownloadedRegionsLayer;
import net.osmand.plus.views.OsmandMapTileView;
import java.lang.ref.WeakReference;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
/**
*/
public class DashboardOnMap implements ObservableScrollViewCallbacks {
@ -73,14 +72,10 @@ public class DashboardOnMap implements ObservableScrollViewCallbacks {
private static final DashFragmentData.ShouldShowFunction rateUsShouldShow = new DashRateUsFragment.RateUsShouldShow();
private static final DashFragmentData.ShouldShowFunction errorShouldShow = new ErrorShouldShow();
private static final DashFragmentData.ShouldShowFunction chooseAppDirShouldShow = new ChooseAppDirShouldShow();
private final DashFragmentData[] fragmentsData = new DashFragmentData[]{
new DashFragmentData(DashRateUsFragment.TAG, DashRateUsFragment.class,
rateUsShouldShow, 0, null),
DashFirstTimeFragment.FRAGMENT_DATA,
new DashFragmentData(DashChooseAppDirFragment.TAG, DashChooseAppDirFragment.class,
chooseAppDirShouldShow, 20, null),
new DashFragmentData(DashErrorFragment.TAG, DashErrorFragment.class,
errorShouldShow, 30, null),
new DashFragmentData(DashNavigationFragment.TAG, DashNavigationFragment.class,
@ -930,19 +925,10 @@ public class DashboardOnMap implements ObservableScrollViewCallbacks {
return list;
}
public static class SettingsShouldShow extends DashFragmentData.ShouldShowFunction {
@Override
public static class DefaultShouldShow extends DashFragmentData.ShouldShowFunction {
public boolean shouldShow(OsmandSettings settings, MapActivity activity, String tag) {
return settings.registerBooleanPreference(SHOULD_SHOW + tag, true)
.makeGlobal().get();
}
}
public static class DefaultShouldShow extends SettingsShouldShow {
@Override
public boolean shouldShow(OsmandSettings settings, MapActivity activity, String tag) {
return !activity.getMyApplication().getAppInitializer().isFirstTime(activity)
&& super.shouldShow(settings, activity, tag);
return settings.registerBooleanPreference(SHOULD_SHOW + tag, true).makeGlobal().get();
}
}
@ -955,13 +941,5 @@ public class DashboardOnMap implements ObservableScrollViewCallbacks {
}
}
private static class ChooseAppDirShouldShow extends SettingsShouldShow {
public boolean shouldShow(OsmandSettings settings, MapActivity activity, String tag) {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) {
return false;
}
return !settings.isExternalStorageDirectorySpecifiedV19()
&& super.shouldShow(settings, activity, tag);
}
}
}

View file

@ -14,8 +14,7 @@ public final class DashFragmentData implements Comparable<DashFragmentData> {
public final String rowNumberTag;
public DashFragmentData(String tag, Class<? extends DashBaseFragment> fragmentClass,
ShouldShowFunction shouldShowFunction,
int position, String rowNumberTag) {
ShouldShowFunction shouldShowFunction, int position, String rowNumberTag) {
this.tag = tag;
this.fragmentClass = fragmentClass;
this.shouldShowFunction = shouldShowFunction;
@ -31,11 +30,14 @@ public final class DashFragmentData implements Comparable<DashFragmentData> {
public boolean hasRows() {
return rowNumberTag != null;
}
public boolean canBeDisabled() {
return shouldShowFunction.getTitleId() != -1;
}
public static abstract class ShouldShowFunction {
public abstract boolean shouldShow(OsmandSettings settings, MapActivity activity, String tag);
public int getTitleId() {
return -1;
}

View file

@ -343,13 +343,18 @@ public class HelpScreenDialogFragment extends DialogFragment implements Expandab
arrayList.add(new MyMenuItem(R.string.instalation_troubleshooting_item));
arrayList.add(new MyMenuItem(R.string.techical_articles_item));
arrayList.add(new MyMenuItem(R.string.versions_item));
String version = Version.getBuildAppEdition(getOsmandApplication());
if (TextUtils.isEmpty(version)) {
version = Version.getAppVersion(getOsmandApplication());
String releasedate = "";
if (!this.getString(R.string.app_edition).equals("")) {
releasedate = this.getString(R.string.shared_string_release) + ": \t" + this.getString(R.string.app_edition);
}
String version = Version.getFullVersion(getOsmandApplication()) + "\n" + releasedate;
// + "\n\n" + this.getString(R.string.about_content);
MyMenuItem.Builder builder = new MyMenuItem.Builder()
.setTitle(R.string.shared_string_about)
.setDescription(version);
arrayList.add(builder.create());
return arrayList;
}

View file

@ -548,7 +548,7 @@ public class DistanceCalculatorPlugin extends OsmandPlugin {
canvas.drawBitmap(distanceMeasurementMode == 1? originIcon : destinationIcon,
locationX - marginX, locationY - marginY, bitmapPaint);
canvas.rotate(view.getRotate(), locationX, locationY);
} else {
} else if(tileBox.getZoom() >= 16){
canvas.drawCircle(locationX, locationY, 10 * tileBox.getDensity(), paint2);
}
}

View file

@ -1,26 +1,18 @@
package net.osmand.plus.download;
import android.content.ActivityNotFoundException;
import android.content.Intent;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.StatFs;
import android.support.annotation.UiThread;
import android.support.v4.app.DialogFragment;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.view.ViewPager;
import android.text.method.LinkMovementMethod;
import android.view.MenuItem;
import android.view.View;
import android.widget.ProgressBar;
import android.widget.TextView;
import android.widget.Toast;
import java.io.File;
import java.lang.ref.WeakReference;
import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Locale;
import java.util.Set;
import net.osmand.IProgress;
import net.osmand.PlatformUtil;
import net.osmand.access.AccessibleToast;
import net.osmand.data.LatLon;
import net.osmand.map.WorldRegion;
import net.osmand.map.WorldRegion.RegionParams;
import net.osmand.plus.OsmandApplication;
@ -32,30 +24,46 @@ import net.osmand.plus.R;
import net.osmand.plus.Version;
import net.osmand.plus.activities.ActionBarProgressActivity;
import net.osmand.plus.activities.LocalIndexInfo;
import net.osmand.plus.activities.MapActivity;
import net.osmand.plus.activities.TabActivity;
import net.osmand.plus.base.BasicProgressAsyncTask;
import net.osmand.plus.download.DownloadIndexesThread.DownloadEvents;
import net.osmand.plus.download.ui.ActiveDownloadsDialogFragment;
import net.osmand.plus.download.ui.BottomSheetDownloadFragment;
import net.osmand.plus.download.ui.DataStoragePlaceDialogFragment;
import net.osmand.plus.download.ui.DownloadResourceGroupFragment;
import net.osmand.plus.download.ui.LocalIndexesFragment;
import net.osmand.plus.download.ui.UpdatesIndexFragment;
import net.osmand.plus.download.ui.popups.AskMapDownloadFragment;
import net.osmand.plus.download.ui.popups.DownloadResourceGroupFragment;
import net.osmand.plus.download.ui.popups.GoToMapFragment;
import net.osmand.plus.openseamapsplugin.NauticalMapsPlugin;
import net.osmand.plus.srtmplugin.SRTMPlugin;
import net.osmand.plus.views.controls.PagerSlidingTabStrip;
import org.apache.commons.logging.Log;
import java.io.File;
import java.lang.ref.WeakReference;
import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Locale;
import java.util.Set;
import android.content.ActivityNotFoundException;
import android.content.Intent;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.StatFs;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.annotation.UiThread;
import android.support.v4.app.DialogFragment;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.view.ViewPager;
import android.text.method.LinkMovementMethod;
import android.view.LayoutInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.ProgressBar;
import android.widget.TextView;
import android.widget.Toast;
public class DownloadActivity extends ActionBarProgressActivity implements DownloadEvents {
private static final Log LOG = PlatformUtil.getLog(DownloadActivity.class);
@ -548,11 +556,18 @@ public class DownloadActivity extends ActionBarProgressActivity implements Downl
}
public void setDownloadItem(WorldRegion region) {
downloadItem = region;
if(downloadItem == null) {
downloadItem = region;
} else if(region == null) {
downloadItem = null;
}
}
private void showGoToMap(WorldRegion worldRegion) {
GoToMapFragment.showInstance(worldRegion, this);
private void showGoToMap(WorldRegion region) {
GoToMapFragment fragment = new GoToMapFragment();
fragment.regionCenter = region.getRegionCenter();
fragment.regionName = region.getLocaleName();
fragment.show(getFragmentManager(), GoToMapFragment.TAG);
}
private void showDownloadWorldMapIfNeeded() {
@ -563,7 +578,9 @@ public class DownloadActivity extends ActionBarProgressActivity implements Downl
if(!SUGGESTED_TO_DOWNLOAD_BASEMAP && worldMap != null && (!worldMap.isDownloaded() || worldMap.isOutdated()) &&
!getDownloadThread().isDownloading(worldMap)) {
SUGGESTED_TO_DOWNLOAD_BASEMAP = true;
AskMapDownloadFragment.showInstance(worldMap, this);
AskMapDownloadFragment fragment = new AskMapDownloadFragment();
fragment.indexItem = worldMap;
fragment.show(getFragmentManager(), AskMapDownloadFragment.TAG);
}
}
@ -635,4 +652,150 @@ public class DownloadActivity extends ActionBarProgressActivity implements Downl
srtmNeedsInstallation = srtmPlugin == null || srtmPlugin.needsInstallation();
}
public static class AskMapDownloadFragment extends BottomSheetDownloadFragment {
public static final String TAG = "AskMapDownloadFragment";
private static final String KEY_ASK_MAP_DOWNLOAD_ITEM_FILENAME = "key_ask_map_download_item_filename";
private IndexItem indexItem;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
if (savedInstanceState != null) {
String itemFileName = savedInstanceState.getString(KEY_ASK_MAP_DOWNLOAD_ITEM_FILENAME);
if (itemFileName != null) {
indexItem = getMyApplication().getDownloadThread().getIndexes().getIndexItem(itemFileName);
}
}
View view = inflater.inflate(R.layout.ask_map_download_fragment, container, false);
((ImageView) view.findViewById(R.id.titleIconImageView))
.setImageDrawable(getIcon(R.drawable.ic_map, R.color.osmand_orange));
Button actionButtonOk = (Button) view.findViewById(R.id.actionButtonOk);
String titleText = null;
String descriptionText = null;
if (indexItem != null) {
if (indexItem.getBasename().equalsIgnoreCase(WorldRegion.WORLD_BASEMAP)) {
titleText = getString(R.string.index_item_world_basemap);
descriptionText = getString(R.string.world_map_download_descr);
}
actionButtonOk.setText(getString(R.string.shared_string_download) + " (" + indexItem.getSizeDescription(getActivity()) + ")");
}
if (titleText != null) {
((TextView) view.findViewById(R.id.titleTextView))
.setText(titleText);
}
if (descriptionText != null) {
((TextView) view.findViewById(R.id.descriptionTextView))
.setText(descriptionText);
}
final ImageButton closeImageButton = (ImageButton) view.findViewById(R.id.closeImageButton);
closeImageButton.setImageDrawable(getContentIcon(R.drawable.ic_action_remove_dark));
closeImageButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dismiss();
}
});
actionButtonOk.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (indexItem != null) {
((DownloadActivity) getActivity()).startDownload(indexItem);
dismiss();
}
}
});
view.findViewById(R.id.actionButtonCancel)
.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dismiss();
}
});
return view;
}
@Override
public void onSaveInstanceState(@NonNull Bundle outState) {
if (indexItem != null) {
outState.putString(KEY_ASK_MAP_DOWNLOAD_ITEM_FILENAME, indexItem.getFileName());
}
}
}
public static class GoToMapFragment extends BottomSheetDownloadFragment {
public static final String TAG = "GoToMapFragment";
private static final String KEY_GOTO_MAP_REGION_CENTER = "key_goto_map_region_center";
private static final String KEY_GOTO_MAP_REGION_NAME = "key_goto_map_region_name";
private LatLon regionCenter;
private String regionName;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
if (savedInstanceState != null) {
regionName = savedInstanceState.getString(KEY_GOTO_MAP_REGION_NAME, "");
Object rCenterObj = savedInstanceState.getSerializable(KEY_GOTO_MAP_REGION_CENTER);
if (rCenterObj != null) {
regionCenter = (LatLon) rCenterObj;
} else {
regionCenter = new LatLon(0, 0);
}
}
View view = inflater.inflate(R.layout.go_to_map_fragment, container, false);
((ImageView) view.findViewById(R.id.titleIconImageView))
.setImageDrawable(getIcon(R.drawable.ic_map, R.color.osmand_orange));
((TextView) view.findViewById(R.id.descriptionTextView))
.setText(getActivity().getString(R.string.map_downloaded_descr, regionName));
final ImageButton closeImageButton = (ImageButton) view.findViewById(R.id.closeImageButton);
closeImageButton.setImageDrawable(getContentIcon(R.drawable.ic_action_remove_dark));
closeImageButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(getActivity() instanceof DownloadActivity) {
((DownloadActivity) getActivity()).setDownloadItem(null);
}
dismiss();
}
});
view.findViewById(R.id.actionButton)
.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
OsmandApplication app = (OsmandApplication) getActivity().getApplication();
app.getSettings().setMapLocationToShow(regionCenter.getLatitude(), regionCenter.getLongitude(), 5, null);
dismiss();
MapActivity.launchMapActivityMoveToTop(getActivity());
}
});
return view;
}
@Override
public void onSaveInstanceState(@NonNull Bundle outState) {
outState.putString(KEY_GOTO_MAP_REGION_NAME, regionName);
outState.putSerializable(KEY_GOTO_MAP_REGION_CENTER, regionCenter);
}
}
}

View file

@ -231,6 +231,7 @@ public class DownloadResourceGroup {
}
public void addItem(IndexItem i) {
i.setRelatedGroup(this);
individualResources.add(i);
}

View file

@ -33,6 +33,7 @@ public class IndexItem implements Comparable<IndexItem> {
boolean outdated;
boolean downloaded;
long localTimestamp;
DownloadResourceGroup relatedGroup;
public IndexItem(String fileName, String description, long timestamp, String size, long contentSize,
@ -49,6 +50,14 @@ public class IndexItem implements Comparable<IndexItem> {
public DownloadActivityType getType() {
return type;
}
public void setRelatedGroup(DownloadResourceGroup relatedGroup) {
this.relatedGroup = relatedGroup;
}
public DownloadResourceGroup getRelatedGroup() {
return relatedGroup;
}
public String getFileName() {
return fileName;

View file

@ -83,7 +83,7 @@ public class ActiveDownloadsDialogFragment extends DialogFragment implements Dow
}
ItemViewHolder viewHolder = (ItemViewHolder) convertView.getTag();
IndexItem item = getItem(position);
viewHolder.bindIndexItem(item, null);
viewHolder.bindIndexItem(item);
return convertView;
}

View file

@ -0,0 +1,72 @@
package net.osmand.plus.download.ui;
import android.app.Dialog;
import android.app.DialogFragment;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.support.annotation.ColorRes;
import android.support.annotation.DrawableRes;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.TextView;
import net.osmand.map.WorldRegion;
import net.osmand.plus.OsmandApplication;
import net.osmand.plus.OsmandSettings;
import net.osmand.plus.R;
import net.osmand.plus.download.DownloadActivity;
import net.osmand.plus.download.IndexItem;
public abstract class BottomSheetDownloadFragment extends DialogFragment {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
boolean isLightTheme = getMyApplication()
.getSettings().OSMAND_THEME.get() == OsmandSettings.OSMAND_LIGHT_THEME;
int themeId = isLightTheme ? R.style.OsmandLightTheme_BottomSheet
: R.style.OsmandDarkTheme_BottomSheet;
final Dialog dialog = new Dialog(getActivity(), themeId);
dialog.getWindow().requestFeature(Window.FEATURE_NO_TITLE);
dialog.getWindow().getAttributes().windowAnimations = R.style.Animations_PopUpMenu_Bottom;
return dialog;
}
@Nullable
@Override
public abstract View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState);
@Override
public void onStart() {
super.onStart();
final Window window = getDialog().getWindow();
WindowManager.LayoutParams params = window.getAttributes();
params.height = ViewGroup.LayoutParams.WRAP_CONTENT;
params.gravity = Gravity.BOTTOM;
params.width = ViewGroup.LayoutParams.MATCH_PARENT;
window.setAttributes(params);
}
protected OsmandApplication getMyApplication() {
return (OsmandApplication) getActivity().getApplication();
}
protected Drawable getIcon(@DrawableRes int drawableRes, @ColorRes int color) {
return getMyApplication().getIconsCache().getIcon(drawableRes, color);
}
protected Drawable getContentIcon(@DrawableRes int drawableRes) {
return getMyApplication().getIconsCache().getContentIcon(drawableRes);
}
}

View file

@ -1,4 +1,4 @@
package net.osmand.plus.download.ui.popups;
package net.osmand.plus.download.ui;
import android.content.res.Resources;
import android.graphics.drawable.Drawable;
@ -31,8 +31,6 @@ import net.osmand.plus.download.DownloadResourceGroup;
import net.osmand.plus.download.DownloadResourceGroup.DownloadResourceGroupType;
import net.osmand.plus.download.DownloadResources;
import net.osmand.plus.download.IndexItem;
import net.osmand.plus.download.ui.ItemViewHolder;
import net.osmand.plus.download.ui.SearchDialogFragment;
import net.osmand.util.Algorithms;
import java.util.ArrayList;
@ -186,9 +184,8 @@ public class DownloadResourceGroupFragment extends DialogFragment implements Dow
return true;
} else if (child instanceof IndexItem) {
IndexItem indexItem = (IndexItem) child;
DownloadResourceGroup groupObj = listAdapter.getGroupObj(groupPosition);
ItemViewHolder vh = (ItemViewHolder) v.getTag();
OnClickListener ls = vh.getRightButtonAction(indexItem, vh.getClickAction(indexItem), groupObj);
OnClickListener ls = vh.getRightButtonAction(indexItem, vh.getClickAction(indexItem));
ls.onClick(v);
return true;
}
@ -369,7 +366,7 @@ public class DownloadResourceGroupFragment extends DialogFragment implements Dow
} else {
viewHolder.setShowTypeInDesc(true);
}
viewHolder.bindIndexItem(item, group);
viewHolder.bindIndexItem(item);
} else {
DownloadResourceGroup group = (DownloadResourceGroup) child;
DownloadGroupViewHolder viewHolder;

View file

@ -127,7 +127,7 @@ public class ItemViewHolder {
srtmNeedsInstallation = context.isSrtmNeedsInstallation();
}
public void bindIndexItem(final IndexItem indexItem, final DownloadResourceGroup parentOptional) {
public void bindIndexItem(final IndexItem indexItem) {
initAppStatusVariables();
boolean isDownloading = context.getDownloadThread().isDownloading(indexItem);
int progress = -1;
@ -248,7 +248,7 @@ public class ItemViewHolder {
private boolean checkDisabledAndClickAction(final IndexItem item) {
RightButtonAction clickAction = getClickAction(item);
boolean disabled = clickAction != RightButtonAction.DOWNLOAD;
OnClickListener action = getRightButtonAction(item, clickAction, null);
OnClickListener action = getRightButtonAction(item, clickAction);
if (clickAction != RightButtonAction.DOWNLOAD) {
rightButton.setText(R.string.get_plugin);
rightButton.setVisibility(View.VISIBLE);
@ -291,7 +291,7 @@ public class ItemViewHolder {
return clickAction;
}
public OnClickListener getRightButtonAction(final IndexItem item, final RightButtonAction clickAction, final DownloadResourceGroup parentOptional) {
public OnClickListener getRightButtonAction(final IndexItem item, final RightButtonAction clickAction) {
if (clickAction != RightButtonAction.DOWNLOAD) {
return new View.OnClickListener() {
@Override
@ -335,9 +335,9 @@ public class ItemViewHolder {
context.makeSureUserCancelDownload(item);
}
} else if(item.isDownloaded() && !item.isOutdated()){
contextMenu(v, item, parentOptional);
contextMenu(v, item, item.getRelatedGroup());
} else {
download(item, parentOptional);
download(item, item.getRelatedGroup());
}
}
};

View file

@ -33,7 +33,6 @@ import net.osmand.plus.download.DownloadResourceGroup;
import net.osmand.plus.download.DownloadResourceGroup.DownloadResourceGroupType;
import net.osmand.plus.download.DownloadResources;
import net.osmand.plus.download.IndexItem;
import net.osmand.plus.download.ui.popups.DownloadResourceGroupFragment;
import net.osmand.util.Algorithms;
import java.util.ArrayList;
@ -220,7 +219,7 @@ public class SearchDialogFragment extends DialogFragment implements DownloadEven
} else if (obj instanceof IndexItem) {
IndexItem indexItem = (IndexItem) obj;
ItemViewHolder vh = (ItemViewHolder) v.getTag();
View.OnClickListener ls = vh.getRightButtonAction(indexItem, vh.getClickAction(indexItem), null);
View.OnClickListener ls = vh.getRightButtonAction(indexItem, vh.getClickAction(indexItem));
ls.onClick(v);
}
}
@ -290,7 +289,7 @@ public class SearchDialogFragment extends DialogFragment implements DownloadEven
convertView.setTag(viewHolder);
}
viewHolder.setShowTypeInDesc(true);
viewHolder.bindIndexItem(item, null);
viewHolder.bindIndexItem(item);
} else {
DownloadResourceGroup group = (DownloadResourceGroup) obj;
DownloadGroupViewHolder viewHolder;

View file

@ -150,7 +150,7 @@ public class UpdatesIndexFragment extends OsmAndListFragment implements Download
public void onListItemClick(ListView l, View v, int position, long id) {
final IndexItem e = (IndexItem) getListAdapter().getItem(position);
ItemViewHolder vh = (ItemViewHolder) v.getTag();
OnClickListener ls = vh.getRightButtonAction(e, vh.getClickAction(e), null);
OnClickListener ls = vh.getRightButtonAction(e, vh.getClickAction(e));
ls.onClick(v);
}
@ -206,7 +206,7 @@ public class UpdatesIndexFragment extends OsmAndListFragment implements Download
holder.setShowRemoteDate(true);
holder.setShowTypeInDesc(true);
holder.setShowParentRegionName(true);
holder.bindIndexItem(items.get(position), null);
holder.bindIndexItem(items.get(position));
return v;
}
}

View file

@ -1,151 +0,0 @@
package net.osmand.plus.download.ui.popups;
import android.app.Dialog;
import android.app.DialogFragment;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.support.annotation.ColorRes;
import android.support.annotation.DrawableRes;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.TextView;
import net.osmand.map.WorldRegion;
import net.osmand.plus.OsmandApplication;
import net.osmand.plus.OsmandSettings;
import net.osmand.plus.R;
import net.osmand.plus.download.DownloadActivity;
import net.osmand.plus.download.IndexItem;
public class AskMapDownloadFragment extends DialogFragment {
public static final String TAG = "AskMapDownloadFragment";
private static final String KEY_ASK_MAP_DOWNLOAD_ITEM_FILENAME = "key_ask_map_download_item_filename";
private IndexItem indexItem;
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
boolean isLightTheme = getMyApplication()
.getSettings().OSMAND_THEME.get() == OsmandSettings.OSMAND_LIGHT_THEME;
int themeId = isLightTheme ? R.style.OsmandLightTheme_BottomSheet
: R.style.OsmandDarkTheme_BottomSheet;
final Dialog dialog = new Dialog(getActivity(), themeId);
dialog.getWindow().requestFeature(Window.FEATURE_NO_TITLE);
dialog.getWindow().getAttributes().windowAnimations = R.style.Animations_PopUpMenu_Bottom;
return dialog;
}
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
if (savedInstanceState != null) {
String itemFileName = savedInstanceState.getString(KEY_ASK_MAP_DOWNLOAD_ITEM_FILENAME);
if (itemFileName != null) {
indexItem = getMyApplication().getDownloadThread().getIndexes().getIndexItem(itemFileName);
}
}
View view = inflater.inflate(R.layout.ask_map_download_fragment, container, false);
((ImageView) view.findViewById(R.id.titleIconImageView))
.setImageDrawable(getIcon(R.drawable.ic_map, R.color.osmand_orange));
Button actionButtonOk = (Button) view.findViewById(R.id.actionButtonOk);
String titleText = null;
String descriptionText = null;
if (indexItem != null) {
if (indexItem.getBasename().equalsIgnoreCase(WorldRegion.WORLD_BASEMAP)) {
titleText = getString(R.string.index_item_world_basemap);
descriptionText = getString(R.string.world_map_download_descr);
}
actionButtonOk.setText(getString(R.string.shared_string_download) + " (" + indexItem.getSizeDescription(getActivity()) + ")");
}
if (titleText != null) {
((TextView) view.findViewById(R.id.titleTextView))
.setText(titleText);
}
if (descriptionText != null) {
((TextView) view.findViewById(R.id.descriptionTextView))
.setText(descriptionText);
}
final ImageButton closeImageButton = (ImageButton) view.findViewById(R.id.closeImageButton);
closeImageButton.setImageDrawable(getContentIcon(R.drawable.ic_action_remove_dark));
closeImageButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dismiss();
}
});
actionButtonOk.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (indexItem != null) {
((DownloadActivity) getActivity()).startDownload(indexItem);
dismiss();
}
}
});
view.findViewById(R.id.actionButtonCancel)
.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dismiss();
}
});
return view;
}
@Override
public void onStart() {
super.onStart();
final Window window = getDialog().getWindow();
WindowManager.LayoutParams params = window.getAttributes();
params.height = ViewGroup.LayoutParams.WRAP_CONTENT;
params.gravity = Gravity.BOTTOM;
params.width = ViewGroup.LayoutParams.MATCH_PARENT;
window.setAttributes(params);
}
@Override
public void onSaveInstanceState(@NonNull Bundle outState) {
if (indexItem != null) {
outState.putString(KEY_ASK_MAP_DOWNLOAD_ITEM_FILENAME, indexItem.getFileName());
}
}
private OsmandApplication getMyApplication() {
return (OsmandApplication) getActivity().getApplication();
}
private Drawable getIcon(@DrawableRes int drawableRes, @ColorRes int color) {
return getMyApplication().getIconsCache().getIcon(drawableRes, color);
}
private Drawable getContentIcon(@DrawableRes int drawableRes) {
return getMyApplication().getIconsCache().getContentIcon(drawableRes);
}
public static void showInstance(IndexItem indexItem, DownloadActivity activity) {
AskMapDownloadFragment fragment = new AskMapDownloadFragment();
fragment.indexItem = indexItem;
fragment.show(activity.getFragmentManager(), TAG);
}
}

View file

@ -1,129 +0,0 @@
package net.osmand.plus.download.ui.popups;
import android.app.Dialog;
import android.app.DialogFragment;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.support.annotation.ColorRes;
import android.support.annotation.DrawableRes;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.view.WindowManager;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.TextView;
import net.osmand.data.LatLon;
import net.osmand.map.WorldRegion;
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.download.DownloadActivity;
public class GoToMapFragment extends DialogFragment {
public static final String TAG = "GoToMapFragment";
private static final String KEY_GOTO_MAP_REGION_CENTER = "key_goto_map_region_center";
private static final String KEY_GOTO_MAP_REGION_NAME = "key_goto_map_region_name";
private LatLon regionCenter;
private String regionName;
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
boolean isLightTheme = getMyApplication()
.getSettings().OSMAND_THEME.get() == OsmandSettings.OSMAND_LIGHT_THEME;
int themeId = isLightTheme ? R.style.OsmandLightTheme_BottomSheet
: R.style.OsmandDarkTheme_BottomSheet;
final Dialog dialog = new Dialog(getActivity(), themeId);
dialog.getWindow().requestFeature(Window.FEATURE_NO_TITLE);
dialog.getWindow().getAttributes().windowAnimations = R.style.Animations_PopUpMenu_Bottom;
return dialog;
}
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
if (savedInstanceState != null) {
regionName = savedInstanceState.getString(KEY_GOTO_MAP_REGION_NAME, "");
Object rCenterObj = savedInstanceState.getSerializable(KEY_GOTO_MAP_REGION_CENTER);
if (rCenterObj != null) {
regionCenter = (LatLon) rCenterObj;
} else {
regionCenter = new LatLon(0, 0);
}
}
View view = inflater.inflate(R.layout.go_to_map_fragment, container, false);
((ImageView) view.findViewById(R.id.titleIconImageView))
.setImageDrawable(getIcon(R.drawable.ic_map, R.color.osmand_orange));
((TextView) view.findViewById(R.id.descriptionTextView))
.setText(getActivity().getString(R.string.map_downloaded_descr, regionName));
final ImageButton closeImageButton = (ImageButton) view.findViewById(R.id.closeImageButton);
closeImageButton.setImageDrawable(getContentIcon(R.drawable.ic_action_remove_dark));
closeImageButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dismiss();
}
});
view.findViewById(R.id.actionButton)
.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
OsmandApplication app = (OsmandApplication) getActivity().getApplication();
app.getSettings().setMapLocationToShow(regionCenter.getLatitude(), regionCenter.getLongitude(), 5, null);
dismiss();
MapActivity.launchMapActivityMoveToTop(getActivity());
}
});
return view;
}
@Override
public void onStart() {
super.onStart();
final Window window = getDialog().getWindow();
WindowManager.LayoutParams params = window.getAttributes();
params.height = ViewGroup.LayoutParams.WRAP_CONTENT;
params.gravity = Gravity.BOTTOM;
params.width = ViewGroup.LayoutParams.MATCH_PARENT;
window.setAttributes(params);
}
@Override
public void onSaveInstanceState(@NonNull Bundle outState) {
outState.putString(KEY_GOTO_MAP_REGION_NAME, regionName);
outState.putSerializable(KEY_GOTO_MAP_REGION_CENTER, regionCenter);
}
private OsmandApplication getMyApplication() {
return (OsmandApplication) getActivity().getApplication();
}
private Drawable getIcon(@DrawableRes int drawableRes, @ColorRes int color) {
return getMyApplication().getIconsCache().getIcon(drawableRes, color);
}
private Drawable getContentIcon(@DrawableRes int drawableRes) {
return getMyApplication().getIconsCache().getContentIcon(drawableRes);
}
public static void showInstance(WorldRegion region, DownloadActivity activity) {
GoToMapFragment fragment = new GoToMapFragment();
fragment.regionCenter = region.getRegionCenter();
fragment.regionName = region.getLocaleName();
fragment.show(activity.getFragmentManager(), TAG);
}
}

View file

@ -9,6 +9,7 @@ import net.osmand.data.PointDescription;
import net.osmand.plus.ContextMenuAdapter;
import net.osmand.plus.R;
import net.osmand.plus.activities.MapActivity;
import net.osmand.plus.mapcontextmenu.MenuController.MenuType;
import net.osmand.plus.mapcontextmenu.MenuController.TitleButtonController;
import net.osmand.plus.mapcontextmenu.other.ShareMenu;
import net.osmand.plus.views.ContextMenuLayer;
@ -211,7 +212,7 @@ public class MapContextMenu extends MenuTitleController {
}
private void acquireMenuController() {
menuController = MenuController.getMenuController(mapActivity, pointDescription, object);
menuController = MenuController.getMenuController(mapActivity, pointDescription, object, MenuType.STANDARD);
}
public void onSingleTapOnMap() {
@ -274,7 +275,11 @@ public class MapContextMenu extends MenuTitleController {
}
public void buttonSharePressed() {
ShareMenu.show(latLon, nameStr, mapActivity);
if (menuController != null) {
menuController.share(latLon, nameStr);
} else {
ShareMenu.show(latLon, nameStr, mapActivity);
}
}
public void buttonMorePressed() {

View file

@ -7,6 +7,7 @@ import net.osmand.data.Amenity;
import net.osmand.data.FavouritePoint;
import net.osmand.data.LatLon;
import net.osmand.data.PointDescription;
import net.osmand.plus.GPXUtilities.WptPt;
import net.osmand.plus.OsmandApplication;
import net.osmand.plus.R;
import net.osmand.plus.TargetPointsHelper.TargetPoint;
@ -14,14 +15,18 @@ import net.osmand.plus.activities.MapActivity;
import net.osmand.plus.audionotes.AudioVideoNotesPlugin.Recording;
import net.osmand.plus.helpers.SearchHistoryHelper;
import net.osmand.plus.mapcontextmenu.controllers.AmenityMenuController;
import net.osmand.plus.mapcontextmenu.controllers.AudioVideoNoteMenuController;
import net.osmand.plus.mapcontextmenu.controllers.EditPOIMenuController;
import net.osmand.plus.mapcontextmenu.controllers.FavouritePointMenuController;
import net.osmand.plus.mapcontextmenu.controllers.HistoryMenuController;
import net.osmand.plus.mapcontextmenu.controllers.MyLocationMenuController;
import net.osmand.plus.mapcontextmenu.controllers.OsMoMenuController;
import net.osmand.plus.mapcontextmenu.controllers.ParkingPositionMenuController;
import net.osmand.plus.mapcontextmenu.controllers.PointDescriptionMenuController;
import net.osmand.plus.mapcontextmenu.controllers.AudioVideoNoteMenuController;
import net.osmand.plus.mapcontextmenu.controllers.TargetPointMenuController;
import net.osmand.plus.mapcontextmenu.controllers.WptPtMenuController;
import net.osmand.plus.mapcontextmenu.other.ShareMenu;
import net.osmand.plus.osmedit.OsmPoint;
import net.osmand.plus.osmo.OsMoGroupsStorage.OsMoDevice;
public abstract class MenuController extends BaseMenuController {
@ -32,8 +37,14 @@ public abstract class MenuController extends BaseMenuController {
public static final int FULL_SCREEN = 4;
}
public enum MenuType {
STANDARD,
MULTI_LINE
}
private MenuBuilder builder;
private int currentMenuState;
private MenuType menuType = MenuType.STANDARD;
protected TitleButtonController titleButtonController;
@ -78,7 +89,7 @@ public abstract class MenuController extends BaseMenuController {
}
public static MenuController getMenuController(MapActivity mapActivity,
PointDescription pointDescription, Object object) {
PointDescription pointDescription, Object object, MenuType menuType) {
OsmandApplication app = mapActivity.getMyApplication();
MenuController menuController = null;
if (object != null) {
@ -94,6 +105,10 @@ public abstract class MenuController extends BaseMenuController {
menuController = new OsMoMenuController(app, mapActivity, (OsMoDevice) object);
} else if (object instanceof Recording) {
menuController = new AudioVideoNoteMenuController(app, mapActivity, (Recording) object);
} else if (object instanceof OsmPoint) {
menuController = new EditPOIMenuController(app, mapActivity, pointDescription, (OsmPoint) object);
} else if (object instanceof WptPt) {
menuController = new WptPtMenuController(app, mapActivity, (WptPt) object);
} else if (object instanceof LatLon) {
if (pointDescription.isParking()) {
menuController = new ParkingPositionMenuController(app, mapActivity, pointDescription);
@ -104,6 +119,9 @@ public abstract class MenuController extends BaseMenuController {
} else {
menuController = new PointDescriptionMenuController(app, mapActivity, pointDescription);
}
if (menuController != null) {
menuController.menuType = menuType;
}
return menuController;
}
@ -150,6 +168,10 @@ public abstract class MenuController extends BaseMenuController {
return currentMenuState;
}
public MenuType getMenuType() {
return menuType;
}
public boolean slideUp() {
int v = currentMenuState;
for (int i = 0; i < 2; i++) {
@ -195,7 +217,7 @@ public abstract class MenuController extends BaseMenuController {
}
public boolean needTypeStr() {
return false;
return menuType != MenuType.STANDARD;
}
public boolean displayStreetNameinTitle() {
@ -213,4 +235,8 @@ public abstract class MenuController extends BaseMenuController {
public String getTypeStr() { return ""; }
public String getNameStr() { return ""; }
public void share(LatLon latLon, String title) {
ShareMenu.show(latLon, title, getMapActivity());
}
}

View file

@ -99,6 +99,11 @@ public abstract class MenuTitleController {
}
protected void acquireNameAndType() {
nameStr = "";
typeStr = "";
streetStr = "";
addressUnknown = false;
MenuController menuController = getMenuController();
PointDescription pointDescription = getPointDescription();
if (menuController != null) {
@ -116,7 +121,9 @@ public abstract class MenuTitleController {
if (Algorithms.isEmpty(nameStr)) {
if (!Algorithms.isEmpty(typeStr)) {
nameStr = typeStr;
typeStr = "";
if (menuController == null || menuController.getMenuType() == MenuController.MenuType.STANDARD) {
typeStr = "";
}
} else {
nameStr = getMapActivity().getString(R.string.address_unknown);
addressUnknown = true;

View file

@ -0,0 +1,191 @@
package net.osmand.plus.mapcontextmenu.builders;
import android.graphics.drawable.Drawable;
import android.text.TextUtils;
import android.text.util.Linkify;
import android.view.Gravity;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import net.osmand.data.Amenity;
import net.osmand.osm.AbstractPoiType;
import net.osmand.osm.MapPoiTypes;
import net.osmand.osm.PoiType;
import net.osmand.plus.OsmandApplication;
import net.osmand.plus.OsmandPlugin;
import net.osmand.plus.R;
import net.osmand.plus.activities.MapActivity;
import net.osmand.plus.mapcontextmenu.MenuBuilder;
import net.osmand.plus.osmedit.OpenstreetmapPoint;
import net.osmand.plus.osmedit.OsmEditingPlugin;
import net.osmand.plus.osmedit.OsmNotesPoint;
import net.osmand.plus.osmedit.OsmPoint;
import net.osmand.util.Algorithms;
import java.util.Map;
public class EditPOIMenuBuilder extends MenuBuilder {
private final OsmPoint osmPoint;
public EditPOIMenuBuilder(OsmandApplication app, final OsmPoint osmPoint) {
super(app);
this.osmPoint = osmPoint;
}
private void buildRow(View view, int iconId, String text, int textColor, boolean needLinks) {
buildRow(view, getRowIcon(iconId), text, textColor, needLinks);
}
protected void buildRow(final View view, Drawable icon, String text, int textColor, boolean needLinks) {
boolean light = app.getSettings().isLightContent();
LinearLayout ll = new LinearLayout(view.getContext());
ll.setOrientation(LinearLayout.HORIZONTAL);
LinearLayout.LayoutParams llParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
ll.setLayoutParams(llParams);
// Icon
LinearLayout llIcon = new LinearLayout(view.getContext());
llIcon.setOrientation(LinearLayout.HORIZONTAL);
llIcon.setLayoutParams(new LinearLayout.LayoutParams(dpToPx(72f), isFirstRow() ? dpToPx(48f) - dpToPx(SHADOW_HEIGHT_BOTTOM_DP) : dpToPx(48f)));
llIcon.setGravity(Gravity.CENTER_VERTICAL);
ll.addView(llIcon);
ImageView iconView = new ImageView(view.getContext());
LinearLayout.LayoutParams llIconParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
llIconParams.setMargins(dpToPx(16f), isFirstRow() ? dpToPx(12f) - dpToPx(SHADOW_HEIGHT_BOTTOM_DP / 2f) : dpToPx(12f), dpToPx(32f), dpToPx(12f));
llIconParams.gravity = Gravity.CENTER_VERTICAL;
iconView.setLayoutParams(llIconParams);
iconView.setScaleType(ImageView.ScaleType.CENTER);
iconView.setImageDrawable(icon);
llIcon.addView(iconView);
// Text
LinearLayout llText = new LinearLayout(view.getContext());
llText.setOrientation(LinearLayout.VERTICAL);
ll.addView(llText);
TextView textView = new TextView(view.getContext());
LinearLayout.LayoutParams llTextParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
llTextParams.setMargins(0, isFirstRow() ? dpToPx(8f) - dpToPx(SHADOW_HEIGHT_BOTTOM_DP) : dpToPx(8f), 0, dpToPx(8f));
textView.setLayoutParams(llTextParams);
textView.setTextSize(16);
textView.setTextColor(app.getResources().getColor(light ? R.color.ctx_menu_info_text_light : R.color.ctx_menu_info_text_dark));
if (needLinks) {
textView.setAutoLinkMask(Linkify.ALL);
textView.setLinksClickable(true);
}
textView.setEllipsize(TextUtils.TruncateAt.END);
textView.setText(text);
if (textColor > 0) {
textView.setTextColor(view.getResources().getColor(textColor));
}
LinearLayout.LayoutParams llTextViewParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
llTextViewParams.setMargins(0, 0, dpToPx(10f), 0);
llTextViewParams.gravity = Gravity.CENTER_VERTICAL;
llText.setLayoutParams(llTextViewParams);
llText.addView(textView);
((LinearLayout) view).addView(ll);
View horizontalLine = new View(view.getContext());
LinearLayout.LayoutParams llHorLineParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, dpToPx(1f));
llHorLineParams.gravity = Gravity.BOTTOM;
horizontalLine.setLayoutParams(llHorLineParams);
horizontalLine.setBackgroundColor(app.getResources().getColor(light ? R.color.ctx_menu_info_divider_light : R.color.ctx_menu_info_divider_dark));
((LinearLayout) view).addView(horizontalLine);
rowBuilt();
}
@Override
public void build(View view) {
super.build(view);
if (osmPoint instanceof OsmNotesPoint) {
OsmNotesPoint notes = (OsmNotesPoint) osmPoint;
buildRow(view, R.drawable.ic_action_note_dark, notes.getText(), 0, false);
buildRow(view, R.drawable.ic_group, notes.getAuthor(), 0, false);
} else if (osmPoint instanceof OpenstreetmapPoint) {
OpenstreetmapPoint point = (OpenstreetmapPoint) osmPoint;
MapPoiTypes poiTypes = app.getPoiTypes();
for (Map.Entry<String, String> e : point.getEntity().getTags().entrySet()) {
int iconId;
Drawable icon = null;
int textColor = 0;
String key = e.getKey();
String vl = e.getValue();
boolean needLinks = !"population".equals(key);
if (key.startsWith("name:")) {
continue;
} else if (Amenity.OPENING_HOURS.equals(key)) {
iconId = R.drawable.ic_action_time;
} else if (Amenity.PHONE.equals(key)) {
iconId = R.drawable.ic_action_call_dark;
} else if (Amenity.WEBSITE.equals(key)) {
iconId = R.drawable.ic_world_globe_dark;
vl = vl.replace(' ', '_');
} else {
if (Amenity.DESCRIPTION.equals(key)) {
iconId = R.drawable.ic_action_note_dark;
} else {
iconId = R.drawable.ic_action_info_dark;
}
AbstractPoiType pt = poiTypes.getAnyPoiAdditionalTypeByKey(key);
if (pt != null) {
PoiType pType = (PoiType) pt;
if (pType.getParentType() != null && pType.getParentType() instanceof PoiType) {
icon = getRowIcon(view.getContext(), ((PoiType) pType.getParentType()).getOsmTag() + "_" + pType.getOsmTag().replace(':', '_') + "_" + pType.getOsmValue());
}
if (!((PoiType) pt).isText()) {
vl = pt.getTranslation();
} else {
vl = pt.getTranslation() + ": " + e.getValue();
}
} else {
vl = Algorithms.capitalizeFirstLetterAndLowercase(e.getKey()) + ": " + e.getValue();
}
}
if (icon != null) {
buildRow(view, icon, vl, textColor, needLinks);
} else {
buildRow(view, iconId, vl, textColor, needLinks);
}
}
}
buildButtonRow(view, null, view.getResources().getString(R.string.shared_string_delete), new OnClickListener() {
@Override
public void onClick(View v) {
OsmEditingPlugin plugin = OsmandPlugin.getPlugin(OsmEditingPlugin.class);
if (plugin != null) {
boolean deleted = false;
if (osmPoint instanceof OsmNotesPoint) {
deleted = plugin.getDBBug().deleteAllBugModifications((OsmNotesPoint) osmPoint);
} else if (osmPoint instanceof OpenstreetmapPoint) {
deleted = plugin.getDBPOI().deletePOI((OpenstreetmapPoint) osmPoint);
}
if (deleted && v.getContext() instanceof MapActivity) {
((MapActivity)v.getContext()).getContextMenu().close();
}
}
}
});
}
}

View file

@ -0,0 +1,36 @@
package net.osmand.plus.mapcontextmenu.builders;
import android.view.View;
import net.osmand.plus.GPXUtilities.WptPt;
import net.osmand.plus.OsmandApplication;
import net.osmand.plus.R;
import net.osmand.plus.mapcontextmenu.MenuBuilder;
import net.osmand.util.Algorithms;
public class WptPtMenuBuilder extends MenuBuilder {
private final WptPt wpt;
public WptPtMenuBuilder(OsmandApplication app, final WptPt wpt) {
super(app);
this.wpt = wpt;
}
@Override
protected boolean needBuildPlainMenuItems() {
return false;
}
@Override
public void build(View view) {
super.build(view);
if (!Algorithms.isEmpty(wpt.desc)) {
buildRow(view, R.drawable.ic_action_note_dark, wpt.desc, 0);
}
buildPlainMenuItems(view);
}
}

View file

@ -1,7 +1,10 @@
package net.osmand.plus.mapcontextmenu.controllers;
import android.content.Intent;
import android.graphics.drawable.Drawable;
import android.net.Uri;
import net.osmand.data.LatLon;
import net.osmand.plus.OsmandApplication;
import net.osmand.plus.OsmandPlugin;
import net.osmand.plus.R;
@ -64,7 +67,9 @@ public class AudioVideoNoteMenuController extends MenuController {
@Override
public String getNameStr() {
File file = recording.getFile();
if (file != null) {
String recType = recording.getType(getMapActivity());
String recName = recording.getName(getMapActivity());
if (file != null && recType.equals(recName)) {
Date date = new Date(recording.getFile().lastModified());
return dateFormat.format(date);
} else {
@ -72,8 +77,33 @@ public class AudioVideoNoteMenuController extends MenuController {
}
}
@Override
public String getTypeStr() {
return recording.getType(getMapActivity());
}
@Override
public boolean needStreetName() {
return false;
}
@Override
public void share(LatLon latLon, String title) {
Intent sharingIntent = new Intent(Intent.ACTION_SEND);
if (recording.isPhoto()) {
Uri screenshotUri = Uri.parse(recording.getFile().getAbsolutePath());
sharingIntent.setType("image/*");
sharingIntent.putExtra(Intent.EXTRA_STREAM, screenshotUri);
} else if (recording.isAudio()) {
Uri audioUri = Uri.parse(recording.getFile().getAbsolutePath());
sharingIntent.setType("audio/*");
sharingIntent.putExtra(Intent.EXTRA_STREAM, audioUri);
} else if (recording.isVideo()) {
Uri videoUri = Uri.parse(recording.getFile().getAbsolutePath());
sharingIntent.setType("video/*");
sharingIntent.putExtra(Intent.EXTRA_STREAM, videoUri);
}
getMapActivity().getContextMenu().findMenuFragment()
.startActivity(Intent.createChooser(sharingIntent, getMapActivity().getString(R.string.share_note)));
}
}

View file

@ -0,0 +1,119 @@
package net.osmand.plus.mapcontextmenu.controllers;
import android.app.ProgressDialog;
import android.graphics.drawable.Drawable;
import net.osmand.data.PointDescription;
import net.osmand.plus.OsmandApplication;
import net.osmand.plus.OsmandPlugin;
import net.osmand.plus.ProgressImplementation;
import net.osmand.plus.R;
import net.osmand.plus.activities.MapActivity;
import net.osmand.plus.mapcontextmenu.MenuController;
import net.osmand.plus.mapcontextmenu.builders.EditPOIMenuBuilder;
import net.osmand.plus.osmedit.OpenstreetmapRemoteUtil;
import net.osmand.plus.osmedit.OsmBugsRemoteUtil;
import net.osmand.plus.osmedit.OsmEditingPlugin;
import net.osmand.plus.osmedit.OsmEditsUploadListener;
import net.osmand.plus.osmedit.OsmEditsUploadListenerHelper;
import net.osmand.plus.osmedit.OsmPoint;
import net.osmand.plus.osmedit.UploadOpenstreetmapPointAsyncTask;
import net.osmand.plus.osmedit.dialogs.SendPoiDialogFragment;
import net.osmand.plus.osmedit.dialogs.SendPoiDialogFragment.ProgressDialogPoiUploader;
import net.osmand.util.Algorithms;
import java.util.Map;
public class EditPOIMenuController extends MenuController {
private PointDescription pointDescription;
private OsmEditingPlugin plugin;
private String pointTypeStr;
private ProgressDialogPoiUploader poiUploader;
public EditPOIMenuController(OsmandApplication app, final MapActivity mapActivity, final PointDescription pointDescription, final OsmPoint osmPoint) {
super(new EditPOIMenuBuilder(app, osmPoint), mapActivity);
this.pointDescription = pointDescription;
plugin = OsmandPlugin.getPlugin(OsmEditingPlugin.class);
poiUploader = new ProgressDialogPoiUploader() {
@Override
public void showProgressDialog(OsmPoint[] points, boolean closeChangeSet) {
ProgressDialog dialog = ProgressImplementation.createProgressDialog(
getMapActivity(),
getMapActivity().getString(R.string.uploading),
getMapActivity().getString(R.string.local_openstreetmap_uploading),
ProgressDialog.STYLE_HORIZONTAL).getDialog();
OsmEditsUploadListener listener = new OsmEditsUploadListenerHelper(getMapActivity(),
getMapActivity().getString(R.string.local_openstreetmap_were_uploaded)) {
@Override
public void uploadEnded(Map<OsmPoint, String> loadErrorsMap) {
super.uploadEnded(loadErrorsMap);
for (OsmPoint osmPoint : loadErrorsMap.keySet()) {
if (loadErrorsMap.get(osmPoint) == null) {
getMapActivity().getContextMenu().close();
}
}
}
};
OpenstreetmapRemoteUtil remotepoi = new OpenstreetmapRemoteUtil(getMapActivity());
OsmBugsRemoteUtil remotebug = new OsmBugsRemoteUtil(getMapActivity().getMyApplication());
UploadOpenstreetmapPointAsyncTask uploadTask = new UploadOpenstreetmapPointAsyncTask(
dialog, listener, plugin, remotepoi, remotebug, points.length, closeChangeSet);
uploadTask.execute(points);
dialog.show();
}
};
titleButtonController = new TitleButtonController() {
@Override
public void buttonPressed() {
if (plugin != null) {
SendPoiDialogFragment sendPoiDialogFragment = SendPoiDialogFragment.createInstance(new OsmPoint[]{osmPoint});
sendPoiDialogFragment.setPoiUploader(poiUploader);
sendPoiDialogFragment.show(mapActivity.getSupportFragmentManager(), SendPoiDialogFragment.TAG);
}
}
};
titleButtonController.caption = getMapActivity().getString(R.string.local_openstreetmap_upload);
if (osmPoint.getGroup() == OsmPoint.Group.POI) {
pointTypeStr = getMapActivity().getString(R.string.osm_edit_created_poi);
} else if (osmPoint.getGroup() == OsmPoint.Group.BUG) {
pointTypeStr = getMapActivity().getString(R.string.osm_edit_created_bug);
} else {
pointTypeStr = "";
}
}
@Override
protected int getSupportedMenuStatesPortrait() {
return MenuState.HEADER_ONLY | MenuState.HALF_SCREEN | MenuState.FULL_SCREEN;
}
@Override
public boolean needTypeStr() {
return !Algorithms.isEmpty(pointTypeStr);
}
@Override
public Drawable getLeftIcon() {
return getIcon(R.drawable.ic_action_gabout_dark, R.color.osmand_orange_dark, R.color.osmand_orange);
}
@Override
public String getNameStr() {
return pointDescription.getSimpleName(getMapActivity(), false);
}
@Override
public String getTypeStr() {
return pointTypeStr;
}
@Override
public boolean needStreetName() {
return false;
}
}

View file

@ -15,8 +15,8 @@ import net.osmand.util.Algorithms;
public class ParkingPositionMenuController extends MenuController {
private PointDescription pointDescription;
ParkingPositionPlugin plugin;
String parkingDescription = "";
private ParkingPositionPlugin plugin;
private String parkingDescription = "";
public ParkingPositionMenuController(OsmandApplication app, MapActivity mapActivity, final PointDescription pointDescription) {
super(new MenuBuilder(app), mapActivity);

View file

@ -9,6 +9,7 @@ import net.osmand.plus.activities.MapActivity;
import net.osmand.plus.activities.search.SearchHistoryFragment;
import net.osmand.plus.mapcontextmenu.MenuBuilder;
import net.osmand.plus.mapcontextmenu.MenuController;
import net.osmand.util.Algorithms;
public class PointDescriptionMenuController extends MenuController {
@ -27,7 +28,7 @@ public class PointDescriptionMenuController extends MenuController {
@Override
public boolean needTypeStr() {
String typeName = pointDescription.getTypeName();
return (typeName != null && !typeName.isEmpty());
return (typeName != null && !Algorithms.isEmpty(typeName));
}
@Override

View file

@ -9,6 +9,7 @@ import net.osmand.plus.TargetPointsHelper.TargetPoint;
import net.osmand.plus.activities.MapActivity;
import net.osmand.plus.mapcontextmenu.MenuBuilder;
import net.osmand.plus.mapcontextmenu.MenuController;
import net.osmand.util.Algorithms;
public class TargetPointMenuController extends MenuController {
@ -61,16 +62,19 @@ public class TargetPointMenuController extends MenuController {
@Override
public String getNameStr() {
String name = "";
if (targetPoint.getOriginalPointDescription() != null) {
return targetPoint.getOriginalPointDescription().getSimpleName(getMapActivity(), false);
} else {
return targetPoint.getOnlyName();
name = targetPoint.getOriginalPointDescription().getSimpleName(getMapActivity(), false);
}
if (Algorithms.isEmpty(name)) {
name = getTypeStr();
}
return name;
}
@Override
public String getTypeStr() {
return targetPoint.getOnlyName();
return targetPoint.getPointDescription(getMapActivity()).getTypeName();
}
@Override
@ -80,6 +84,6 @@ public class TargetPointMenuController extends MenuController {
@Override
public boolean needStreetName() {
return true;
return Algorithms.isEmpty(targetPoint.getOnlyName());
}
}

View file

@ -0,0 +1,77 @@
package net.osmand.plus.mapcontextmenu.controllers;
import android.graphics.drawable.Drawable;
import net.osmand.plus.GPXUtilities.WptPt;
import net.osmand.plus.OsmandApplication;
import net.osmand.plus.R;
import net.osmand.plus.activities.MapActivity;
import net.osmand.plus.base.FavoriteImageDrawable;
import net.osmand.plus.mapcontextmenu.MenuController;
import net.osmand.plus.mapcontextmenu.builders.FavouritePointMenuBuilder;
import net.osmand.plus.mapcontextmenu.builders.WptPtMenuBuilder;
import net.osmand.util.Algorithms;
public class WptPtMenuController extends MenuController {
private WptPt wpt;
public WptPtMenuController(OsmandApplication app, MapActivity mapActivity, final WptPt wpt) {
super(new WptPtMenuBuilder(app, wpt), mapActivity);
this.wpt = wpt;
}
@Override
protected int getSupportedMenuStatesPortrait() {
return MenuState.HEADER_ONLY | MenuState.HALF_SCREEN | MenuState.FULL_SCREEN;
}
/*
@Override
public boolean handleSingleTapOnMap() {
Fragment fragment = getMapActivity().getSupportFragmentManager().findFragmentByTag(FavoritePointEditor.TAG);
if (fragment != null) {
((FavoritePointEditorFragment)fragment).dismiss();
return true;
}
return false;
}
*/
@Override
public boolean needStreetName() {
return false;
}
@Override
public boolean needTypeStr() {
return true;
}
@Override
public Drawable getLeftIcon() {
return FavoriteImageDrawable.getOrCreate(getMapActivity().getMyApplication(), wpt.getColor(), 0);
}
@Override
public Drawable getSecondLineIcon() {
return getIcon(R.drawable.ic_small_group);
}
/*
@Override
public int getFavActionIconId() {
return R.drawable.ic_action_edit_dark;
}
*/
@Override
public String getTypeStr() {
return wpt.category != null ? wpt.category : getMapActivity().getString(R.string.shared_string_none);
}
@Override
public String getNameStr() {
return wpt.name != null ? wpt.name : getMapActivity().getString(R.string.gpx_wpt);
}
}

View file

@ -8,6 +8,7 @@ import net.osmand.data.PointDescription;
import net.osmand.plus.activities.MapActivity;
import net.osmand.plus.mapcontextmenu.BaseMenuController;
import net.osmand.plus.mapcontextmenu.MenuController;
import net.osmand.plus.mapcontextmenu.MenuController.MenuType;
import net.osmand.plus.mapcontextmenu.MenuTitleController;
import net.osmand.plus.views.ContextMenuLayer;
import net.osmand.plus.views.ContextMenuLayer.IContextMenuProvider;
@ -47,7 +48,7 @@ public class ObjectSelectionMenu extends BaseMenuController {
}
protected void init() {
controller = MenuController.getMenuController(mapActivity, pointDescription, object);
controller = MenuController.getMenuController(mapActivity, pointDescription, object, MenuType.MULTI_LINE);
initTitle();
}

View file

@ -46,6 +46,7 @@ import android.widget.Toast;
import net.osmand.PlatformUtil;
import net.osmand.access.AccessibleToast;
import net.osmand.data.Amenity;
import net.osmand.data.LatLon;
import net.osmand.osm.PoiType;
import net.osmand.osm.edit.EntityInfo;
import net.osmand.osm.edit.Node;
@ -66,6 +67,7 @@ import org.apache.commons.logging.Log;
import java.io.Serializable;
import java.text.MessageFormat;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
public class EditPoiDialogFragment extends DialogFragment {
@ -327,6 +329,18 @@ public class EditPoiDialogFragment extends DialogFragment {
R.string.poi_action_succeded_template), message),
Toast.LENGTH_LONG).show();
}
OsmEditingPlugin plugin = OsmandPlugin.getPlugin(OsmEditingPlugin.class);
if (plugin != null) {
List<OpenstreetmapPoint> points = plugin.getDBPOI().getOpenstreetmapPoints();
OsmPoint point = points.get(points.size() - 1);
if (getActivity() instanceof MapActivity) {
MapActivity mapActivity = (MapActivity) getActivity();
mapActivity.getContextMenu().showOrUpdate(new LatLon(point.getLatitude(), point.getLongitude()),
plugin.getOsmEditsLayer(mapActivity).getObjectName(point), point);
}
}
if (getActivity() instanceof MapActivity) {
((MapActivity) getActivity()).getMapView().refreshMap(true);
}

View file

@ -357,6 +357,9 @@ public class OsmBugsLayer extends OsmandMapLayer implements IContextMenuProvider
} else {
AccessibleToast.makeText(activity, R.string.osb_add_dialog_success, Toast.LENGTH_LONG).show();
}
List<OsmNotesPoint> points = plugin.getDBBug().getOsmbugsPoints();
OsmPoint point = points.get(points.size() - 1);
activity.getContextMenu().showOrUpdate(new LatLon(latitude, longitude), plugin.getOsmEditsLayer(activity).getObjectName(point), point);
refreshMap();
} else {
AccessibleToast.makeText(activity, activity.getResources().getString(R.string.osb_add_dialog_error) + "\n" + result,

View file

@ -162,28 +162,6 @@ public class OsmEditsLayer extends OsmandMapLayer implements ContextMenuLayer.IC
}
return null;
}
@Override
public void populateObjectContextMenu(Object o, ContextMenuAdapter adapter) {
if (o instanceof OsmPoint) {
final OsmPoint r = (OsmPoint) o;
adapter.item(R.string.osm_edit_context_menu_delete).iconColor(R.drawable.ic_action_delete_dark
).listen(new ContextMenuAdapter.OnContextMenuClick() {
@Override
public boolean onContextMenuClick(ArrayAdapter<?> adapter, int itemId, int pos, boolean isChecked) {
if(r instanceof OsmNotesPoint) {
plugin.getDBBug().deleteAllBugModifications((OsmNotesPoint) r);
} else if(r instanceof OpenstreetmapPoint) {
plugin.getDBPOI().deletePOI((OpenstreetmapPoint) r);
}
view.refreshMap();
return true;
}
}).reg();
}
}
@Override
public String getObjectDescription(Object o) {

View file

@ -20,6 +20,11 @@ public class SendPoiDialogFragment extends DialogFragment {
public static final String TAG = "SendPoiDialogFragment";
public static final String OPENSTREETMAP_POINT = "openstreetmap_point";
private static String comment;
private ProgressDialogPoiUploader poiUploader;
public void setPoiUploader(ProgressDialogPoiUploader poiUploader) {
this.poiUploader = poiUploader;
}
@NonNull
@Override
@ -38,8 +43,12 @@ public class SendPoiDialogFragment extends DialogFragment {
userNameEditText.setText(settings.USER_NAME.get());
passwordEditText.setText(settings.USER_PASSWORD.get());
final ProgressDialogPoiUploader progressDialogPoiUploader =
(ProgressDialogPoiUploader) getParentFragment();
final ProgressDialogPoiUploader progressDialogPoiUploader;
if (poiUploader != null) {
progressDialogPoiUploader = poiUploader;
} else {
progressDialogPoiUploader = (ProgressDialogPoiUploader) getParentFragment();
}
builder.setTitle(R.string.commit_poi)
.setView(view)

View file

@ -261,6 +261,7 @@ public class ParkingPositionPlugin extends OsmandPlugin {
}
addOrRemoveParkingEvent(false);
setParkingPosition(mapActivity, latitude, longitude, false);
showContextMenuIfNeeded(mapActivity);
mapActivity.getMapView().refreshMap();
}
});
@ -268,7 +269,17 @@ public class ParkingPositionPlugin extends OsmandPlugin {
choose.show();
}
private void showContextMenuIfNeeded(final MapActivity mapActivity) {
if (parkingLayer != null) {
MapContextMenu menu = mapActivity.getContextMenu();
if (menu.isVisible()) {
menu.show(new LatLon(parkingPosition.getLatitude(), parkingPosition.getLongitude()),
parkingLayer.getObjectName(parkingPosition), parkingPosition);
}
}
}
/**
* Method creates confirmation dialog for deletion of a parking location.
*/
@ -361,6 +372,7 @@ public class ParkingPositionPlugin extends OsmandPlugin {
} else {
addOrRemoveParkingEvent(false);
}
showContextMenuIfNeeded(mapActivity);
}
});
setTime.create();
@ -412,10 +424,6 @@ public class ParkingPositionPlugin extends OsmandPlugin {
setParkingType(isLimited);
setParkingStartTime(Calendar.getInstance().getTimeInMillis());
if (parkingLayer != null) {
MapContextMenu menu = mapActivity.getContextMenu();
if (menu.isVisible()) {
menu.show(new LatLon(latitude, longitude), parkingLayer.getObjectName(parkingPosition), parkingPosition);
}
parkingLayer.refresh();
}
}
@ -543,7 +551,9 @@ public class ParkingPositionPlugin extends OsmandPlugin {
timeStringBuilder.append(ctx.getString(R.string.osmand_parking_hour));
}
timeStringBuilder.append(" ");
if (timeStringBuilder.length() > 0) {
timeStringBuilder.append(" ");
}
timeStringBuilder.append(minutes);
timeStringBuilder.append(" ");
timeStringBuilder.append(ctx.getString(R.string.osmand_parking_minute));

View file

@ -56,7 +56,7 @@ public class RendererRegistry {
internalRenderers.put(TOURING_VIEW, "Touring-view_(more-contrast-and-details)" +".render.xml");
internalRenderers.put("UniRS", "UniRS" + ".render.xml");
internalRenderers.put("LightRS", "LightRS" + ".render.xml");
internalRenderers.put("experimental-test", "test" + ".render.xml");
// internalRenderers.put("experimental-test", "test" + ".render.xml");
internalRenderers.put(NAUTICAL_RENDER, "nautical" + ".render.xml");
internalRenderers.put(WINTER_SKI_RENDER, "skimap" + ".render.xml");
}

View file

@ -1,26 +1,21 @@
package net.osmand.plus.views;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.content.DialogInterface;
import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.PointF;
import android.widget.ArrayAdapter;
import net.osmand.data.FavouritePoint;
import net.osmand.data.LatLon;
import net.osmand.data.LocationPoint;
import net.osmand.data.PointDescription;
import net.osmand.data.QuadRect;
import net.osmand.data.QuadTree;
import net.osmand.data.RotatedTileBox;
import net.osmand.plus.ContextMenuAdapter;
import net.osmand.plus.ContextMenuAdapter.OnContextMenuClick;
import net.osmand.plus.FavouritesDbHelper;
import net.osmand.plus.OsmandSettings;
import net.osmand.plus.R;
import net.osmand.plus.activities.FavoritesTreeFragment;
import net.osmand.plus.base.FavoriteImageDrawable;
import net.osmand.plus.views.MapTextLayer.MapTextProvider;
@ -36,10 +31,10 @@ public class FavoritesLayer extends OsmandMapLayer implements ContextMenuLayer.
private FavouritesDbHelper favorites;
protected List<LocationPoint> cache = new ArrayList<LocationPoint>();
private MapTextLayer textLayer;
private Paint paintIcon;
private Bitmap pointSmall;
private OsmandSettings settings;
// private Bitmap d;
protected Class<? extends LocationPoint> getFavoriteClass() {
return (Class<? extends LocationPoint>) FavouritePoint.class;
@ -63,8 +58,8 @@ public class FavoritesLayer extends OsmandMapLayer implements ContextMenuLayer.
settings = view.getApplication().getSettings();
favorites = view.getApplication().getFavorites();
textLayer = view.getLayerByClass(MapTextLayer.class);
// favoriteIcon = BitmapFactory.decodeResource(view.getResources(), R.drawable.poi_favourite);
paintIcon = new Paint();
pointSmall = BitmapFactory.decodeResource(view.getResources(), R.drawable.map_white_shield_small);
}
private boolean calculateBelongs(int ex, int ey, int objx, int objy, int radius) {
@ -94,12 +89,26 @@ public class FavoritesLayer extends OsmandMapLayer implements ContextMenuLayer.
cache.clear();
if (this.settings.SHOW_FAVORITES.get()) {
if (tileBox.getZoom() >= startZoom) {
float iconSize = FavoriteImageDrawable.getOrCreate(view.getContext(), 0,
tileBox.getDensity()).getIntrinsicWidth() * 3 / 2.5f;
QuadTree<QuadRect> boundIntersections = initBoundIntersections(tileBox);
// request to load
final QuadRect latLonBounds = tileBox.getLatLonBounds();
List<LocationPoint> fullObjects = new ArrayList<>();
for (LocationPoint o : getPoints()) {
float x = tileBox.getPixXFromLatLon(o.getLatitude(), o.getLongitude());
float y = tileBox.getPixYFromLatLon(o.getLatitude(), o.getLongitude());
if (intersects(boundIntersections, x, y, iconSize, iconSize)) {
canvas.drawBitmap(pointSmall, x - pointSmall.getWidth() / 2, y - pointSmall.getHeight() / 2, paintIcon);
} else {
fullObjects.add(o);
}
}
for (LocationPoint o : fullObjects) {
drawPoint(canvas, tileBox, latLonBounds, o);
}
}
}
if(textLayer.isVisible()) {

View file

@ -1,15 +1,23 @@
package net.osmand.plus.views;
import gnu.trove.list.array.TIntArrayList;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.ColorFilter;
import android.graphics.Paint;
import android.graphics.Paint.Align;
import android.graphics.Paint.Style;
import android.graphics.Path;
import android.graphics.PointF;
import android.graphics.PorterDuff.Mode;
import android.graphics.PorterDuffColorFilter;
import android.support.annotation.NonNull;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import net.osmand.access.AccessibleToast;
import net.osmand.data.LatLon;
import net.osmand.data.PointDescription;
import net.osmand.data.QuadRect;
import net.osmand.data.QuadTree;
import net.osmand.data.RotatedTileBox;
import net.osmand.plus.GPXUtilities.GPXFile;
import net.osmand.plus.GPXUtilities.TrkSegment;
@ -27,17 +35,12 @@ import net.osmand.plus.views.MapTextLayer.MapTextProvider;
import net.osmand.render.RenderingRuleProperty;
import net.osmand.render.RenderingRuleSearchRequest;
import net.osmand.render.RenderingRulesStorage;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.ColorFilter;
import android.graphics.Paint;
import android.graphics.Paint.Align;
import android.graphics.Paint.Style;
import android.graphics.Path;
import android.graphics.PointF;
import android.graphics.PorterDuff.Mode;
import android.graphics.PorterDuffColorFilter;
import android.widget.Toast;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import gnu.trove.list.array.TIntArrayList;
public class GPXLayer extends OsmandMapLayer implements ContextMenuLayer.IContextMenuProvider,
MapTextProvider<WptPt> {
@ -53,6 +56,8 @@ public class GPXLayer extends OsmandMapLayer implements ContextMenuLayer.IContex
private boolean isPaint_1;
private int cachedHash;
private int cachedColor;
private Paint paintIcon;
private Bitmap pointSmall;
private static final int startZoom = 7;
@ -74,9 +79,6 @@ public class GPXLayer extends OsmandMapLayer implements ContextMenuLayer.IContex
private List<TrkSegment> points;
private GPXFile gpx;
// private Drawable favoriteIcon;
private void initUI() {
paint = new Paint();
@ -107,8 +109,7 @@ public class GPXLayer extends OsmandMapLayer implements ContextMenuLayer.IContex
paintTextIcon.setAntiAlias(true);
textLayer = view.getLayerByClass(MapTextLayer.class);
//favoriteIcon = BitmapFactory.decodeResource(view.getResources(), R.drawable.poi_favourite);
paintOuter = new Paint();
paintOuter.setColor(0x88555555);
paintOuter.setAntiAlias(true);
@ -117,6 +118,9 @@ public class GPXLayer extends OsmandMapLayer implements ContextMenuLayer.IContex
paintInnerCircle.setStyle(Style.FILL_AND_STROKE);
paintInnerCircle.setColor(0xddFFFFFF);
paintInnerCircle.setAntiAlias(true);
paintIcon = new Paint();
pointSmall = BitmapFactory.decodeResource(view.getResources(), R.drawable.map_white_shield_small);
}
@ -272,27 +276,39 @@ public class GPXLayer extends OsmandMapLayer implements ContextMenuLayer.IContex
int defPointColor = view.getResources().getColor(R.color.gpx_color_point);
int visitedColor = view.getContext().getResources().getColor(R.color.color_ok);
if (tileBox.getZoom() >= startZoom) {
float iconSize = FavoriteImageDrawable.getOrCreate(view.getContext(), 0,
tileBox.getDensity()).getIntrinsicWidth() * 3 / 2.5f;
QuadTree<QuadRect> boundIntersections = initBoundIntersections(tileBox);
// request to load
final QuadRect latLonBounds = tileBox.getLatLonBounds();
for (SelectedGpxFile g : selectedGPXFiles) {
List<WptPt> pts = getListStarPoints(g);
List<WptPt> fullObjects = new ArrayList<>();
int fcolor = g.getColor() == 0 ? defPointColor : g.getColor();
for (WptPt o : pts) {
boolean visit = isPointVisited(o);
int pointColor = visit ? visitedColor : o.getColor(fcolor);
FavoriteImageDrawable fid = FavoriteImageDrawable.getOrCreate(view.getContext(), pointColor,
tileBox.getDensity());
if (o.lat >= latLonBounds.bottom && o.lat <= latLonBounds.top
&& o.lon >= latLonBounds.left && o.lon <= latLonBounds.right) {
cache.add(o);
int x = (int) tileBox.getPixXFromLatLon(o.lat, o.lon);
int y = (int) tileBox.getPixYFromLatLon(o.lat, o.lon);
fid.drawBitmapInCenter(canvas, x, y);
// canvas.drawBitmap(favoriteIcon, x - favoriteIcon.getWidth() / 2,
// y - favoriteIcon.getHeight(), paint);
float x = tileBox.getPixXFromLatLon(o.lat, o.lon);
float y = tileBox.getPixYFromLatLon(o.lat, o.lon);
if (intersects(boundIntersections, x, y, iconSize, iconSize)) {
canvas.drawBitmap(pointSmall, x - pointSmall.getWidth() / 2, y - pointSmall.getHeight() / 2, paintIcon);
} else {
fullObjects.add(o);
}
}
}
for (WptPt o : fullObjects) {
float x = tileBox.getPixXFromLatLon(o.lat, o.lon);
float y = tileBox.getPixYFromLatLon(o.lat, o.lon);
boolean visit = isPointVisited(o);
int pointColor = visit ? visitedColor : o.getColor(fcolor);
FavoriteImageDrawable fid = FavoriteImageDrawable.getOrCreate(view.getContext(), pointColor,
tileBox.getDensity());
fid.drawBitmapInCenter(canvas, x, y);
}
}
}
}

View file

@ -2,9 +2,12 @@ package net.osmand.plus.views;
import gnu.trove.list.array.TIntArrayList;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import net.osmand.data.QuadRect;
import net.osmand.data.QuadTree;
import net.osmand.data.RotatedTileBox;
import net.osmand.plus.ContextMenuAdapter;
import net.osmand.util.MapAlgorithms;
@ -12,6 +15,7 @@ import android.graphics.Canvas;
import android.graphics.Path;
import android.graphics.PointF;
import android.os.AsyncTask;
import android.support.annotation.NonNull;
import android.view.MotionEvent;
public abstract class OsmandMapLayer {
@ -156,7 +160,37 @@ public abstract class OsmandMapLayer {
}
return cnt;
}
@NonNull
public QuadTree<QuadRect> initBoundIntersections(RotatedTileBox tileBox) {
QuadRect bounds = new QuadRect(0, 0, tileBox.getPixWidth(), tileBox.getPixHeight());
bounds.inset(-bounds.width()/4, -bounds.height()/4);
return new QuadTree<>(bounds, 4, 0.6f);
}
public boolean intersects(QuadTree<QuadRect> boundIntersections, float x, float y, float width, float height) {
List<QuadRect> result = new ArrayList<>();
QuadRect visibleRect = calculateRect(x, y, width, height);
boundIntersections.queryInBox(new QuadRect(visibleRect.left, visibleRect.top, visibleRect.right, visibleRect.bottom), result);
for (QuadRect r : result) {
if (QuadRect.intersects(r, visibleRect)) {
return true;
}
}
boundIntersections.insert(visibleRect,
new QuadRect(visibleRect.left, visibleRect.top, visibleRect.right, visibleRect.bottom));
return false;
}
public QuadRect calculateRect(float x, float y, float width, float height) {
QuadRect rf;
double left = x - width / 2.0d;
double top = y - height / 2.0d;
double right = left + width;
double bottom = top + height;
rf = new QuadRect(left, top, right, bottom);
return rf;
}
public abstract class MapLayerData<T> {
public int ZOOM_THRESHOLD = 1;

View file

@ -1,39 +1,5 @@
package net.osmand.plus.views;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.Set;
import java.util.TreeSet;
import net.osmand.PlatformUtil;
import net.osmand.ResultMatcher;
import net.osmand.ValueHolder;
import net.osmand.access.AccessibleToast;
import net.osmand.data.Amenity;
import net.osmand.data.LatLon;
import net.osmand.data.PointDescription;
import net.osmand.data.QuadRect;
import net.osmand.data.QuadTree;
import net.osmand.data.RotatedTileBox;
import net.osmand.osm.PoiType;
import net.osmand.plus.ContextMenuAdapter;
import net.osmand.plus.ContextMenuAdapter.OnContextMenuClick;
import net.osmand.plus.OsmAndFormatter;
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.helpers.FileNameTranslationHelper;
import net.osmand.plus.poi.PoiFiltersHelper;
import net.osmand.plus.poi.PoiUIFilter;
import net.osmand.plus.render.RenderingIcons;
import net.osmand.plus.resources.ResourceManager;
import net.osmand.plus.routing.RoutingHelper;
import net.osmand.plus.routing.RoutingHelper.IRouteInformationListener;
import net.osmand.plus.views.MapTextLayer.MapTextProvider;
import net.osmand.util.Algorithms;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.app.Dialog;
@ -44,7 +10,6 @@ import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Paint.Style;
import android.graphics.PointF;
import android.graphics.PorterDuff;
import android.graphics.PorterDuffColorFilter;
@ -64,13 +29,43 @@ import android.view.MotionEvent;
import android.view.View;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.LinearLayout.LayoutParams;
import android.widget.ScrollView;
import android.widget.TextView;
import android.widget.Toast;
import net.osmand.PlatformUtil;
import net.osmand.ResultMatcher;
import net.osmand.ValueHolder;
import net.osmand.data.Amenity;
import net.osmand.data.LatLon;
import net.osmand.data.PointDescription;
import net.osmand.data.QuadRect;
import net.osmand.data.QuadTree;
import net.osmand.data.RotatedTileBox;
import net.osmand.osm.PoiType;
import net.osmand.plus.OsmAndFormatter;
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.helpers.FileNameTranslationHelper;
import net.osmand.plus.poi.PoiFiltersHelper;
import net.osmand.plus.poi.PoiUIFilter;
import net.osmand.plus.render.RenderingIcons;
import net.osmand.plus.resources.ResourceManager;
import net.osmand.plus.routing.RoutingHelper;
import net.osmand.plus.routing.RoutingHelper.IRouteInformationListener;
import net.osmand.plus.views.MapTextLayer.MapTextProvider;
import net.osmand.util.Algorithms;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.Set;
import java.util.TreeSet;
public class POIMapLayer extends OsmandMapLayer implements ContextMenuLayer.IContextMenuProvider,
MapTextProvider<Amenity>, IRouteInformationListener {
@ -222,26 +217,6 @@ public class POIMapLayer extends OsmandMapLayer implements ContextMenuLayer.ICon
return (int) (r * tb.getDensity());
}
private QuadRect calculateRect(int x, int y, int width, int height) {
QuadRect rf;
double left = x - width / 2;
double top = y - height / 2;
double right = left + width;
double bottom = top + height;
rf = new QuadRect(left, top, right, bottom);
return rf;
}
private QuadRect calculateRect(float x, float y, float width, float height) {
QuadRect rf;
double left = x - width / 2.0d;
double top = y - height / 2.0d;
double right = left + width;
double bottom = top + height;
rf = new QuadRect(left, top, right, bottom);
return rf;
}
@Override
public void onPrepareBufferImage(Canvas canvas, RotatedTileBox tileBox, DrawSettings settings) {
if(!Algorithms.objectEquals(this.settings.SELECTED_POI_FILTER_FOR_MAP.get(),
@ -263,33 +238,17 @@ public class POIMapLayer extends OsmandMapLayer implements ContextMenuLayer.ICon
objects = data.getResults();
if (objects != null) {
float iconSize = poiBackground.getWidth() * 3 / 2;
QuadRect bounds = new QuadRect(0, 0, tileBox.getPixWidth(), tileBox.getPixHeight());
bounds.inset(-bounds.width()/4, -bounds.height()/4);
QuadTree<QuadRect> boundIntersections = new QuadTree<>(bounds, 4, 0.6f);
List<QuadRect> result = new ArrayList<>();
QuadTree<QuadRect> boundIntersections = initBoundIntersections(tileBox);
for (Amenity o : objects) {
float x = tileBox.getPixXFromLatLon(o.getLocation().getLatitude(), o.getLocation()
.getLongitude());
float y = tileBox.getPixYFromLatLon(o.getLocation().getLatitude(), o.getLocation()
.getLongitude());
boolean intersects =false;
QuadRect visibleRect = calculateRect(x, y, iconSize, iconSize);
//canvas.drawRect(visibleRect, paintIcon);
boundIntersections.queryInBox(new QuadRect(visibleRect.left, visibleRect.top, visibleRect.right, visibleRect.bottom), result);
for (QuadRect r : result) {
if (QuadRect.intersects(r, visibleRect)) {
intersects = true;
break;
}
}
if (intersects) {
if (intersects(boundIntersections, x, y, iconSize, iconSize)) {
canvas.drawBitmap(poiBackgroundSmall, x - poiBackgroundSmall.getWidth() / 2, y - poiBackgroundSmall.getHeight() / 2, paintIconBackground);
} else {
boundIntersections.insert(visibleRect,
new QuadRect(visibleRect.left, visibleRect.top, visibleRect.right, visibleRect.bottom));
fullObjects.add(o);
}
}