diff --git a/OsmAnd-api/src/net/osmand/aidlapi/map/SetMapLocationParams.java b/OsmAnd-api/src/net/osmand/aidlapi/map/SetMapLocationParams.java
index 9da5ee83f0..d441682da5 100644
--- a/OsmAnd-api/src/net/osmand/aidlapi/map/SetMapLocationParams.java
+++ b/OsmAnd-api/src/net/osmand/aidlapi/map/SetMapLocationParams.java
@@ -10,12 +10,14 @@ public class SetMapLocationParams extends AidlParams {
private double latitude;
private double longitude;
private int zoom;
+ private float rotation;
private boolean animated;
- public SetMapLocationParams(double latitude, double longitude, int zoom, boolean animated) {
+ public SetMapLocationParams(double latitude, double longitude, int zoom, float rotation, boolean animated) {
this.latitude = latitude;
this.longitude = longitude;
this.zoom = zoom;
+ this.rotation = rotation;
this.animated = animated;
}
@@ -47,6 +49,10 @@ public class SetMapLocationParams extends AidlParams {
return zoom;
}
+ public float getRotation() {
+ return rotation;
+ }
+
public boolean isAnimated() {
return animated;
}
@@ -56,6 +62,7 @@ public class SetMapLocationParams extends AidlParams {
bundle.putDouble("latitude", latitude);
bundle.putDouble("longitude", longitude);
bundle.putInt("zoom", zoom);
+ bundle.putFloat("rotation", rotation);
bundle.putBoolean("animated", animated);
}
@@ -64,6 +71,7 @@ public class SetMapLocationParams extends AidlParams {
latitude = bundle.getDouble("latitude");
longitude = bundle.getDouble("longitude");
zoom = bundle.getInt("zoom");
+ rotation = bundle.getFloat("rotation");
animated = bundle.getBoolean("animated");
}
}
\ No newline at end of file
diff --git a/OsmAnd-java/src/main/java/net/osmand/GPXUtilities.java b/OsmAnd-java/src/main/java/net/osmand/GPXUtilities.java
index aec72cbbcb..d55b9e1e3e 100644
--- a/OsmAnd-java/src/main/java/net/osmand/GPXUtilities.java
+++ b/OsmAnd-java/src/main/java/net/osmand/GPXUtilities.java
@@ -49,6 +49,8 @@ public class GPXUtilities {
private static final String ICON_NAME_EXTENSION = "icon";
private static final String DEFAULT_ICON_NAME = "special_star";
private static final String BACKGROUND_TYPE_EXTENSION = "background";
+ private static final String PROFILE_TYPE_EXTENSION = "profile";
+ private static final String TRKPT_INDEX_EXTENSION = "trkpt_idx";
private final static String GPX_TIME_FORMAT = "yyyy-MM-dd'T'HH:mm:ss'Z'"; //$NON-NLS-1$
private final static String GPX_TIME_FORMAT_MILLIS = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"; //$NON-NLS-1$
@@ -305,6 +307,26 @@ public class GPXUtilities {
getExtensionsToWrite().put(BACKGROUND_TYPE_EXTENSION, backType);
}
+ public String getProfileType() {
+ return getExtensionsToRead().get(PROFILE_TYPE_EXTENSION);
+ }
+
+ public void setProfileType(String profileType) {
+ getExtensionsToWrite().put(PROFILE_TYPE_EXTENSION, profileType);
+ }
+
+ public int getTrkPtIndex() {
+ try {
+ return Integer.parseInt(getExtensionsToRead().get(TRKPT_INDEX_EXTENSION));
+ }catch(NumberFormatException e){
+ return -1;
+ }
+ }
+
+ public void setTrkPtIndex(int index) {
+ getExtensionsToWrite().put(TRKPT_INDEX_EXTENSION, String.valueOf(index));
+ }
+
@Override
public int hashCode() {
final int prime = 31;
diff --git a/OsmAnd-java/src/main/java/net/osmand/util/Algorithms.java b/OsmAnd-java/src/main/java/net/osmand/util/Algorithms.java
index d302c91da7..925f886a19 100644
--- a/OsmAnd-java/src/main/java/net/osmand/util/Algorithms.java
+++ b/OsmAnd-java/src/main/java/net/osmand/util/Algorithms.java
@@ -41,11 +41,11 @@ public class Algorithms {
private static final int BUFFER_SIZE = 1024;
private static final Log log = PlatformUtil.getLog(Algorithms.class);
- public static boolean isEmpty(Collection c) {
+ public static boolean isEmpty(Collection> c) {
return c == null || c.size() == 0;
}
- public static boolean isEmpty(Map map) {
+ public static boolean isEmpty(Map, ?> map) {
return map == null || map.size() == 0;
}
@@ -498,6 +498,7 @@ public class Algorithms {
}
responseBody.append(s);
}
+ i.close();
}
return responseBody;
}
diff --git a/OsmAnd-telegram/res/values-it/strings.xml b/OsmAnd-telegram/res/values-it/strings.xml
index 4a5b4218f4..15986c05a0 100644
--- a/OsmAnd-telegram/res/values-it/strings.xml
+++ b/OsmAnd-telegram/res/values-it/strings.xml
@@ -196,7 +196,7 @@
TelegramTelegram (l\'applicazione di messaggistica) viene usato per connettersi e comunicare con le persone.Il tracker OsmAnd è uno dei client utilizzati dalla piattaforma aperta Telegram. I tuoi contatti possono usare un qualsiasi cliente Telegram.
- Cliccando continua tu sottoscrivi le condizioni di Privacy di Telegram e quelle di OsmAnd.
+ Cliccando \"Continua\" tu sottoscrivi le condizioni di privacy di Telegram e quelle di OsmAnd.AccettazioneCome funzionaInformativa sulla privacy di Telegram
@@ -257,4 +257,12 @@
Fuso orarioUnità di misura della velocitàTorna a OsmAnd
+ Stato di OsmAnd Tracker
+ Suggerito
+ %1$s fa
+ Ultima risposta: %1$s fa
+ Ultimo aggiornamento da Telegram: %1$s fa
+ Ultima risposta: %1$s
+ Ultimo aggiornamento da Telegram: %1$s
+ ERR
\ No newline at end of file
diff --git a/OsmAnd-telegram/res/values-pt-rPT/strings.xml b/OsmAnd-telegram/res/values-pt-rPT/strings.xml
index 1d32c5f8b3..40b67220ba 100644
--- a/OsmAnd-telegram/res/values-pt-rPT/strings.xml
+++ b/OsmAnd-telegram/res/values-pt-rPT/strings.xml
@@ -25,11 +25,11 @@
Bate-papos ativosMinutos por quilômetroFuncionamento em segundo plano
- Ocultar contatos que não foram movidos em um determinado momento.
+ Ocultar contactos que não foram movidos num determinado momento.Configurações de GPXDigite o nome do contato ou do grupomin/m
- Senha do telegrama
+ Palavra-passe do telegramaÚltima localização atualizada:ParadoMostrar quantidade de pontos de GPS coletados e enviados.
@@ -71,7 +71,7 @@
Conectar OsmAndPor favor, instale o Telegram e configure uma conta.Quilômetros por hora
- Senha
+ Palavra-passeDistância mínima de registroGravarIniciar
@@ -92,7 +92,7 @@
Mais tardeMinha localizaçãoInstalar OsmAnd
- Telegrama (o aplicativo de mensagens) é usado para conectar e se comunicar com as pessoas.
+ Telegrama (a app de mensagens) é usado para conectar e se comunicar com as pessoas.Não é possível enviar para bate-papo do Telegram:Ainda não enviado%1$d pontos
@@ -108,7 +108,7 @@
ExpiraEnviar localização comoSair
- O aplicativo não tem permissão para acessar os dados de localização.
+ A app não tem permissão para acessar os dados de localização.Milhas por horaPode criar e visualizar o ID do aparelho no cliente de telegrama usando o bot de bate-papo %1$s. %2$sVoltar
@@ -208,7 +208,7 @@
Velocidade médiaSituaçãokm/h
- Então você pode usar este aplicativo.
+ Então pode usar esta app.ConfiguraçõesVá para as configuraçõesUma faixa GPX é salva automaticamente durante a navegação.
diff --git a/OsmAnd-telegram/res/values-pt/strings.xml b/OsmAnd-telegram/res/values-pt/strings.xml
index fe4559ac9c..ecd23c5bcd 100644
--- a/OsmAnd-telegram/res/values-pt/strings.xml
+++ b/OsmAnd-telegram/res/values-pt/strings.xml
@@ -58,7 +58,7 @@
Desativar monitoramentoGravação de localização ativadaAtive o monitoramento para salvar todos os locais no histórico.
- Telegrama (o aplicativo de mensagens) é usado para conectar e se comunicar com as pessoas.
+ Telegrama (a app de mensagens) é usado para conectar e se comunicar com as pessoas.OsmAnd tracker é um dos clientes que usam a Plataforma aberta do Telegram . Seus contatos podem usar qualquer outro cliente Telegram.Ao clicar em \"Continuar\" você concorda com as condições da política de privacidade do Telegram e OsmAnd.Aceitar
@@ -144,7 +144,7 @@
no %1$sEscolha a versão OsmAnd que OsmAnd Tracker usa para exibir posições.Conectar OsmAnd
- Ocultar contatos que não foram movidos em um determinado momento.
+ Ocultar contactos que não foram movidos num determinado momento.Histórico de localizaçãoA última vez que um contato foi movido.Parado
@@ -161,7 +161,7 @@
Registro no TelegramVocê precisa de uma conta do Telegram para usar o compartilhamento de local.Por favor, instale o Telegram e configure uma conta.
- Então você pode usar este aplicativo.
+ Então pode usar esta app.TodosDesligadoVocê precisa de uma conta e número de telefone registrados no Telegram
@@ -190,7 +190,7 @@
Código de AutenticaçãoUma faixa GPX é salva automaticamente durante a navegação.Digite a palavra-passe
- Senha do telegrama
+ Palavra-passe do TelegramEntrarSairIniciando
@@ -201,7 +201,7 @@
ContinuarCancelarConfigurações
- O aplicativo não tem permissão para acessar os dados de localização.
+ A app não tem permissão para acessar os dados de localização.Por favor, ligue \"Localização\" nas configurações do sistemaSelecione um dos provedores de localização para compartilhar sua localização.Modo de fundo
diff --git a/OsmAnd-telegram/res/values-ru/strings.xml b/OsmAnd-telegram/res/values-ru/strings.xml
index 1890f13acc..fd9ca28bca 100644
--- a/OsmAnd-telegram/res/values-ru/strings.xml
+++ b/OsmAnd-telegram/res/values-ru/strings.xml
@@ -156,7 +156,7 @@
Политика конфиденциальности TelegramПолитика конфиденциальности OsmAndПолучено точек GPX: %1$s
- Вид
+ Внешний видПоказать количество собранных и отправленных точек GPS.Обновите OsmAnd для просмотра данных на картеОбновить
@@ -246,7 +246,7 @@
Минимальная скорость регистрацииФильтр: не регистрировать, пока не достигнута необходимая скоростьКонец
- Начало
+ СтартВыберите время для отображенияСохраненные сообщенияВыберите часовой пояс, чтобы показывать время вашего местоположения в сообщениях.
diff --git a/OsmAnd-telegram/src/net/osmand/aidl/map/SetMapLocationParams.java b/OsmAnd-telegram/src/net/osmand/aidl/map/SetMapLocationParams.java
index 929c817d9d..7feea74d20 100644
--- a/OsmAnd-telegram/src/net/osmand/aidl/map/SetMapLocationParams.java
+++ b/OsmAnd-telegram/src/net/osmand/aidl/map/SetMapLocationParams.java
@@ -8,12 +8,15 @@ public class SetMapLocationParams implements Parcelable {
private double latitude;
private double longitude;
private int zoom;
- private boolean animated;
+ private float rotation;
- public SetMapLocationParams(double latitude, double longitude, int zoom, boolean animated) {
+ private boolean animated;
+
+ public SetMapLocationParams(double latitude, double longitude, int zoom, float rotation, boolean animated) {
this.latitude = latitude;
this.longitude = longitude;
this.zoom = zoom;
+ this.rotation = rotation;
this.animated = animated;
}
@@ -44,6 +47,10 @@ public class SetMapLocationParams implements Parcelable {
return zoom;
}
+ public float getRotation() {
+ return rotation;
+ }
+
public boolean isAnimated() {
return animated;
}
@@ -53,6 +60,7 @@ public class SetMapLocationParams implements Parcelable {
out.writeDouble(longitude);
out.writeInt(zoom);
out.writeByte((byte) (animated ? 1 : 0));
+ out.writeFloat(rotation);
}
private void readFromParcel(Parcel in) {
@@ -60,6 +68,7 @@ public class SetMapLocationParams implements Parcelable {
longitude = in.readDouble();
zoom = in.readInt();
animated = in.readByte() != 0;
+ rotation = in.readFloat();
}
public int describeContents() {
diff --git a/OsmAnd-telegram/src/net/osmand/telegram/helpers/OsmandAidlHelper.kt b/OsmAnd-telegram/src/net/osmand/telegram/helpers/OsmandAidlHelper.kt
index dd93c294db..338b81c48f 100644
--- a/OsmAnd-telegram/src/net/osmand/telegram/helpers/OsmandAidlHelper.kt
+++ b/OsmAnd-telegram/src/net/osmand/telegram/helpers/OsmandAidlHelper.kt
@@ -939,7 +939,7 @@ class OsmandAidlHelper(private val app: TelegramApplication) {
if (mIOsmAndAidlInterface != null) {
try {
return mIOsmAndAidlInterface!!.setMapLocation(
- SetMapLocationParams(latitude, longitude, zoom, animated))
+ SetMapLocationParams(latitude, longitude, zoom, Float.NaN, animated))
} catch (e: RemoteException) {
e.printStackTrace()
}
diff --git a/OsmAnd/res/layout-land/fragment_measurement_tool.xml b/OsmAnd/res/layout-land/fragment_measurement_tool.xml
index de02d4e67c..710a81682c 100644
--- a/OsmAnd/res/layout-land/fragment_measurement_tool.xml
+++ b/OsmAnd/res/layout-land/fragment_measurement_tool.xml
@@ -70,9 +70,9 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
- android:layout_marginEnd="@dimen/text_margin_small"
+ android:layout_marginEnd="@dimen/measurement_tool_text_margin"
android:layout_marginLeft="@dimen/measurement_tool_text_margin"
- android:layout_marginRight="@dimen/text_margin_small"
+ android:layout_marginRight="@dimen/measurement_tool_text_margin"
android:layout_marginStart="@dimen/measurement_tool_text_margin"
android:layout_toEndOf="@id/main_icon"
android:layout_toRightOf="@id/main_icon"
@@ -99,6 +99,10 @@
android:layout_toLeftOf="@id/up_down_button"
android:layout_toRightOf="@id/measurement_points_text_view"
android:layout_toStartOf="@id/up_down_button"
+ android:layout_marginEnd="@dimen/measurement_tool_text_margin"
+ android:layout_marginLeft="@dimen/measurement_tool_text_margin"
+ android:layout_marginRight="@dimen/measurement_tool_text_margin"
+ android:layout_marginStart="@dimen/measurement_tool_text_margin"
android:textColor="@color/color_distance"
android:textSize="@dimen/default_list_text_size"
tools:text=" – 700 m"/>
@@ -154,39 +158,38 @@
android:id="@+id/options_button"
android:layout_width="wrap_content"
android:layout_height="match_parent"
+ android:layout_marginTop="@dimen/measurement_tool_button_padding"
+ android:layout_marginBottom="@dimen/measurement_tool_button_padding"
android:background="?attr/selectableItemBackground"
android:gravity="center_vertical"
android:maxLines="1"
android:paddingEnd="@dimen/measurement_tool_text_button_padding_small"
- android:paddingLeft="@dimen/measurement_tool_text_button_padding"
android:paddingRight="@dimen/measurement_tool_text_button_padding_small"
android:paddingStart="@dimen/measurement_tool_text_button_padding"
+ android:paddingLeft="@dimen/measurement_tool_text_button_padding"
android:text="@string/shared_string_options"
android:textColor="?attr/color_dialog_buttons"
- osmand:textAllCapsCompat="true"
osmand:typeface="@string/font_roboto_medium"/>
+ android:textAllCaps="false"
+ android:paddingEnd="@dimen/measurement_tool_button_padding"
+ android:paddingStart="@dimen/measurement_tool_button_padding" />
@@ -242,8 +244,9 @@
android:paddingRight="@dimen/measurement_tool_button_padding"
android:text="@string/shared_string_apply"
android:textColor="@color/color_white"
- android:paddingEnd="@dimen/measurement_tool_button_padding"
- android:paddingStart="@dimen/measurement_tool_button_padding" />
+ android:textAllCaps="false"
+ android:paddingEnd="@dimen/measurement_tool_button_padding"
+ android:paddingStart="@dimen/measurement_tool_button_padding" />
+ android:textAllCaps="false"
+ android:paddingEnd="@dimen/measurement_tool_button_padding"
+ android:paddingStart="@dimen/measurement_tool_button_padding" />
+ android:textAllCaps="false"
+ android:paddingStart="@dimen/measurement_tool_button_padding"
+ android:paddingEnd="@dimen/measurement_tool_button_padding" />
diff --git a/OsmAnd/res/layout/fragment_measurement_tool.xml b/OsmAnd/res/layout/fragment_measurement_tool.xml
index d6f1470ba0..e126e58a29 100644
--- a/OsmAnd/res/layout/fragment_measurement_tool.xml
+++ b/OsmAnd/res/layout/fragment_measurement_tool.xml
@@ -39,10 +39,10 @@
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_centerVertical="true"
- android:layout_marginEnd="@dimen/bottom_sheet_content_margin"
- android:layout_marginLeft="@dimen/bottom_sheet_content_margin"
- android:layout_marginRight="@dimen/bottom_sheet_content_margin"
- android:layout_marginStart="@dimen/bottom_sheet_content_margin"
+ android:layout_marginEnd="@dimen/measurement_tool_text_button_padding"
+ android:layout_marginLeft="@dimen/measurement_tool_text_button_padding"
+ android:layout_marginRight="@dimen/measurement_tool_text_button_padding"
+ android:layout_marginStart="@dimen/measurement_tool_text_button_padding"
android:background="@null"
tools:src="@drawable/ic_action_ruler"/>
@@ -64,11 +64,11 @@
android:id="@+id/measurement_distance_text_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_centerVertical="true"
+ android:layout_marginTop="@dimen/measurement_tool_button_padding"
android:layout_marginEnd="@dimen/text_margin_small"
- android:layout_marginLeft="@dimen/measurement_tool_text_margin"
+ android:layout_marginLeft="@dimen/measurement_tool_text_button_padding"
android:layout_marginRight="@dimen/text_margin_small"
- android:layout_marginStart="@dimen/measurement_tool_text_margin"
+ android:layout_marginStart="@dimen/measurement_tool_text_button_padding"
android:layout_toEndOf="@id/main_icon"
android:layout_toRightOf="@id/main_icon"
android:textAppearance="@style/TextAppearance.ListItemTitle"
@@ -78,7 +78,7 @@
android:id="@+id/measurement_points_text_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_centerVertical="true"
+ android:layout_marginTop="@dimen/measurement_tool_button_padding"
android:layout_toEndOf="@id/measurement_distance_text_view"
android:layout_toRightOf="@id/measurement_distance_text_view"
android:textColor="?android:textColorSecondary"
@@ -87,17 +87,15 @@
+ android:textColor="@color/color_distance"
+ android:textSize="@dimen/default_desc_text_size"
+ tools:text=" – 700 m" />
+ android:layout_height="@dimen/measurement_tool_controls_height"
+ android:paddingTop="@dimen/measurement_tool_button_padding_top"
+ android:paddingBottom="@dimen/measurement_tool_button_padding_top"
+ android:paddingLeft="@dimen/measurement_tool_button_margin"
+ android:paddingRight="@dimen/measurement_tool_button_margin">
@@ -261,6 +250,7 @@
android:paddingRight="@dimen/measurement_tool_button_padding"
android:text="@string/shared_string_apply"
android:textColor="@color/color_white"
+ android:textAllCaps="false"
android:paddingEnd="@dimen/measurement_tool_button_padding"
android:paddingStart="@dimen/measurement_tool_button_padding" />
@@ -268,15 +258,12 @@
android:id="@+id/cancel_move_point_button"
android:layout_width="wrap_content"
android:layout_height="match_parent"
+ android:layout_margin="@dimen/measurement_tool_button_margin"
android:background="?attr/selectableItemBackground"
android:gravity="center_vertical"
- android:paddingEnd="12dp"
- android:paddingLeft="16dp"
- android:paddingRight="12dp"
- android:paddingStart="16dp"
+ android:padding="@dimen/measurement_tool_text_button_padding_small"
android:text="@string/shared_string_cancel"
android:textColor="?attr/color_dialog_buttons"
- osmand:textAllCapsCompat="true"
osmand:typeface="@string/font_roboto_medium"/>
@@ -292,15 +279,12 @@
android:id="@+id/cancel_point_before_after_button"
android:layout_width="wrap_content"
android:layout_height="match_parent"
+ android:layout_margin="@dimen/measurement_tool_button_margin"
android:background="?attr/selectableItemBackground"
android:gravity="center_vertical"
- android:paddingEnd="@dimen/measurement_tool_text_button_padding_small"
- android:paddingLeft="@dimen/measurement_tool_text_button_padding"
- android:paddingRight="@dimen/measurement_tool_text_button_padding_small"
- android:paddingStart="@dimen/measurement_tool_text_button_padding"
+ android:padding="@dimen/measurement_tool_text_button_padding_small"
android:text="@string/shared_string_cancel"
android:textColor="?attr/color_dialog_buttons"
- osmand:textAllCapsCompat="true"
osmand:typeface="@string/font_roboto_medium"/>
@@ -334,13 +319,12 @@
android:layout_marginRight="@dimen/measurement_tool_button_margin"
android:layout_marginTop="@dimen/measurement_tool_button_margin"
android:background="?attr/btn_round"
- osmand:drawableLeftCompat="@drawable/ic_action_plus"
- osmand:drawableStartCompat="@drawable/ic_action_plus"
android:minHeight="@dimen/measurement_tool_button_height"
android:paddingLeft="@dimen/measurement_tool_button_padding"
android:paddingRight="@dimen/measurement_tool_button_padding"
android:text="@string/shared_string_add"
android:textColor="@color/color_white"
+ android:textAllCaps="false"
android:paddingEnd="@dimen/measurement_tool_button_padding"
android:paddingStart="@dimen/measurement_tool_button_padding" />
diff --git a/OsmAnd/res/layout/plan_route_toolbar_and_up_down_row.xml b/OsmAnd/res/layout/plan_route_toolbar_and_up_down_row.xml
index 25e86566bc..773f46b403 100644
--- a/OsmAnd/res/layout/plan_route_toolbar_and_up_down_row.xml
+++ b/OsmAnd/res/layout/plan_route_toolbar_and_up_down_row.xml
@@ -1,7 +1,6 @@
+ android:paddingStart="@dimen/content_padding"
+ android:paddingEnd="@dimen/content_padding" />
@@ -63,8 +62,8 @@
android:id="@+id/toolbar_divider"
android:layout_width="wrap_content"
android:layout_height="1dp"
- android:layout_marginLeft="54dp"
- android:layout_marginStart="54dp"
+ android:layout_marginLeft="@dimen/toolbar_inset_start"
+ android:layout_marginStart="@dimen/toolbar_inset_start"
android:visibility="gone"
tools:background="?attr/dashboard_divider"
tools:visibility="visible"/>
@@ -81,7 +80,7 @@
اللون والسمك
خذ المخرج %1$d ثم واصلالمدينة أو المنطقة
- مقالات ويكيبيديا مجاورة
+ مقالات ويكيبيديا قريبةاستخدام الطرق السريعةالسماح للطرق السريعة.الصربية (اللاتينية)
@@ -2531,7 +2531,7 @@
أضف موقعك كنقطة أولى لتخطيط طريق مثالي.موقعيإنهاء
- تخطيط الطريق
+ قياس المسافةفرزإدخال إحداثيةتصدير علاماتك إلى ملف يمكنك تحديده هنا:
@@ -3793,7 +3793,7 @@
\n
\nحدد %2$s. جميع البيانات المتعلقة كاميرات السرعة: التنبيهات، والإخطارات، سيتم حذف نقاط الاهتمام حتى يتم إعادة تثبيت أوسماند تماما.
تحديد الارتفاع الأعلى المسموح به على الطرق.
- طول الحد
+ حد الطولهذا الجهاز لا يملك كاميرات السرعة.أحذية تزلجتمكين التحكم في مستوى التكبير/التصغير بالخريطة باستخدام أزرار مستوى صوت الجهاز.
@@ -3810,4 +3810,8 @@
منحدراتعربة التسوقأغلق ملاحظة OSM
+ تحتاج إلى تعيين أيام العمل للمتابعة
+ المسار بين النقاط
+ قياس المسافة
+ إضافة إلى مسار
\ No newline at end of file
diff --git a/OsmAnd/res/values-b+kab/strings.xml b/OsmAnd/res/values-b+kab/strings.xml
index fdf37cff65..f2691d0b11 100644
--- a/OsmAnd/res/values-b+kab/strings.xml
+++ b/OsmAnd/res/values-b+kab/strings.xml
@@ -1303,4 +1303,14 @@
Ajerred - OsmAnd SridTiɣin deg OsmAndImuɣna n tunigin
+ Uccuḍ deg udfel
+ Ticṛaḍ
+ Akettur
+ Yalas
+ kemmel
+ Désinstaller
+ Asaḍuf
+ Tasiṛbu-karwaṣit
+ Ixxamen
+ %1$s yettwasfeḍ
\ No newline at end of file
diff --git a/OsmAnd/res/values-de/phrases.xml b/OsmAnd/res/values-de/phrases.xml
index e2ca883769..c662ba5255 100644
--- a/OsmAnd/res/values-de/phrases.xml
+++ b/OsmAnd/res/values-de/phrases.xml
@@ -275,7 +275,7 @@
IT-DienstJuwelierJuwelier
- Schlüsseldienst
+ SchlüsselmacherKindergartenKioskKüchengeräte
@@ -289,7 +289,7 @@
LeuchtturmÖrtlichkeitSchleusentor
- Schlosser
+ SchlüsseldienstEinkaufszentrumYachthafenMarktplatz
diff --git a/OsmAnd/res/values-de/strings.xml b/OsmAnd/res/values-de/strings.xml
index 80666c5ffd..34edeeebfb 100644
--- a/OsmAnd/res/values-de/strings.xml
+++ b/OsmAnd/res/values-de/strings.xml
@@ -2082,7 +2082,7 @@
StreckeAufzeichnenSchnellaufzeichnung einschalten
- Anzeige einer Systembenachrichtigung zum Starten der Streckenaufzeichnung.
+ Eine Systembenachrichtigung anzeigen um die Aufzeichnung starten zu können.BenachrichtigungenAussehenRoutenberechnung
@@ -3811,7 +3811,7 @@
\n%2$s wählen, worauf alle Daten zu Blitzern (Warnungen, Hinweise und POIs) bis zu einer vollständigen Neuinstallation von OsmAnd gelöscht werden.
Geben Sie die Fahrzeuglänge an, die auf Routen erlaubt sein soll.Längenbegrenzung
- Dieses Gerät hat keine Blitzer.
+ Diese App hat keine Informationen zu Blitzern.Inline-SkatesAktivieren Sie die Steuerung der Zoomstufe der Karte mit den Lautstärketasten des Geräts.Lautstärketasten als Zoom
@@ -3827,4 +3827,8 @@
Go-KartGeschlossene OSM-NotizRollstuhl vorwärts
+ Zum Fortfahren müssen die Arbeitstage gesetzt sein
+ Route zwischen Punkten
+ Eine Route planen
+ Zu einem Track hinzufügen
\ No newline at end of file
diff --git a/OsmAnd/res/values-es-rAR/strings.xml b/OsmAnd/res/values-es-rAR/strings.xml
index c4e1c15d19..12950a51a5 100644
--- a/OsmAnd/res/values-es-rAR/strings.xml
+++ b/OsmAnd/res/values-es-rAR/strings.xml
@@ -2078,7 +2078,7 @@
GrabarSin datosActivar la grabación rápida
- Muestra una notificación del sistema que permite la grabación del viaje.
+ Muestra una notificación del sistema que permite iniciar la grabación del viaje.NotificacionesSin archivos GPX aúnTambién puedes añadir archivos GPX a la carpeta
@@ -3825,4 +3825,8 @@
Go-kartNota de OSM cerradaSilla de ruedas (hacia adelante)
+ Debes definir los días laborales para continuar
+ Ruta entre puntos
+ Crear una ruta
+ Añadir a una traza
\ No newline at end of file
diff --git a/OsmAnd/res/values-fa/phrases.xml b/OsmAnd/res/values-fa/phrases.xml
index e56200c82b..492377da9a 100644
--- a/OsmAnd/res/values-fa/phrases.xml
+++ b/OsmAnd/res/values-fa/phrases.xml
@@ -612,16 +612,16 @@
نوع سوخت (avia)شیوهٔ پرداختکارت سوخت
- اضافی
+ اضافهترنوع دسترسی اینترنتنوع فروشتعمیرگاه دوچرخه
- مدل لباس
- مدل کفش
- موقعیت شیر آتش نشانی
- منبع آب شیر اتش نشانی
+ نوع
+ نوع
+ موقعیت
+ منبع آبشیوهٔ پرداخت
- صدای ترافیک
+ صدادسترسی ویلچربلهخیر
@@ -631,8 +631,8 @@
توضیحات برای استفادهکنندگان ویلچرویژهنوع اثر هنری: فواره
- نوع جایگاه سوخت
- نوع شیر آتش نشانی
+ نوع سوخت
+ نوعنوعکفپوش برجستهخودکار
diff --git a/OsmAnd/res/values-fa/strings.xml b/OsmAnd/res/values-fa/strings.xml
index 44a95baf83..824a98370c 100644
--- a/OsmAnd/res/values-fa/strings.xml
+++ b/OsmAnd/res/values-fa/strings.xml
@@ -3843,4 +3843,7 @@
حذف مقصد بعدیلطفاً نام نقطه را بنویسیددانلود نقشههای ویکیپدیا
+ از ویکیپدیا دربارهٔ نقاط توجه اطلاعات کسب کنید. یک راهنمای آفلاین جیبی. کافی است افزونهٔ ویکیپدیا را فعال کنید و از مقالهها دربارهٔ چیزهای دوروبرتان لذت ببرید.
+ صندلی چرخدار
+ یادداشت اُاِساِمی بسته
\ No newline at end of file
diff --git a/OsmAnd/res/values-fr/phrases.xml b/OsmAnd/res/values-fr/phrases.xml
index f26c9279aa..bc34ba433b 100644
--- a/OsmAnd/res/values-fr/phrases.xml
+++ b/OsmAnd/res/values-fr/phrases.xml
@@ -3830,4 +3830,6 @@
FlècheVibrationBoîte à dons
+ Îlot urbain
+ Arrondissement
\ No newline at end of file
diff --git a/OsmAnd/res/values-fr/strings.xml b/OsmAnd/res/values-fr/strings.xml
index 805fa38ba4..39bdf9e73e 100644
--- a/OsmAnd/res/values-fr/strings.xml
+++ b/OsmAnd/res/values-fr/strings.xml
@@ -2067,7 +2067,7 @@
Aucune donnéeNotificationsActiver le démarrage rapide d\'enregistrement d\'itinéraire
- Afficher une notification système permettant d’enregistrer l\'itinéraire.
+ Afficher une notification système permettant de démarrer l\'enregistrement de l\'itinéraire.Vous n\'avez pas encore de fichier GPXVous pouvez aussi ajouter des fichiers GPX dans le dossierAutre trace GPX …
@@ -3802,4 +3802,8 @@
Note OSM ferméeFauteuil roulantFauteuil roulant vers l\'avant
+ Vous devez définir les jours travaillés avant de poursuivre
+ Itinéraire entre points
+ Planifier un itinéraire
+ Ajouter à une trace
\ No newline at end of file
diff --git a/OsmAnd/res/values-gl/strings.xml b/OsmAnd/res/values-gl/strings.xml
index 43bb801860..5484f5620c 100644
--- a/OsmAnd/res/values-gl/strings.xml
+++ b/OsmAnd/res/values-gl/strings.xml
@@ -1896,7 +1896,7 @@ Lon %2$s
Engadir máis…AparenciaActivar a gravación rápida
- Amosa unha notificación do sistema que permite a gravación da viaxe.
+ Amosar unha notificación do sistema que permite comezar a gravación da viaxe.NotificaciónsContinuarDeter
diff --git a/OsmAnd/res/values-hu/phrases.xml b/OsmAnd/res/values-hu/phrases.xml
index 056b60bcf5..320b77276e 100644
--- a/OsmAnd/res/values-hu/phrases.xml
+++ b/OsmAnd/res/values-hu/phrases.xml
@@ -3794,13 +3794,31 @@
NyomásAkadályPálya azonosítószám
- Bowling központ
- Biztonsági szaküzlet
+ Bowling
+ Biztonságtechnikai szaküzletHegyimentő
- Igen
- Igen
+ Nincs
+ VanRezgés nincs
- Adomány doboz
+ Adománygyűjtő dobozKerületHáztömb
+ Nyomás alatti
+ Talajvíz
+ Cső
+ Ivóvíz-utántöltő hálózat
+ Ivóvíz-utántöltés nincs
+ Ivóvíz-utántöltés
+ Vízszint: közepes vízszint alatt
+ Vízszint: közepes vízszint fölött
+ Vízszint: lebegő
+ Vízszint: időnként elborítva
+ Vízszint: hullámzástól nedves
+ Vízszint: időszakonként víz alatti
+ Vízszint: víz feletti
+ Vízszint: víz alatti
+ Vízszint: részben víz alatti
+ Félrevezető
+ Véletlenül használható más elemek
+ Kontrasztos színű
\ No newline at end of file
diff --git a/OsmAnd/res/values-hu/strings.xml b/OsmAnd/res/values-hu/strings.xml
index 70cf693f39..149975187b 100644
--- a/OsmAnd/res/values-hu/strings.xml
+++ b/OsmAnd/res/values-hu/strings.xml
@@ -2057,7 +2057,7 @@
Továbbiak hozzáadása…MegjelenésGyors rögzítés bekapcsolása
- Az útvonalrögzítést lehetővé tevő rendszerértesítés megjelenítése.
+ Egy útvonalrögzítés megkezdését lehetővé tevő rendszerértesítés megjelenítése.ÉrtesítésekSzünetTúra
diff --git a/OsmAnd/res/values-iw/strings.xml b/OsmAnd/res/values-iw/strings.xml
index ba88963918..11b1e33b51 100644
--- a/OsmAnd/res/values-iw/strings.xml
+++ b/OsmAnd/res/values-iw/strings.xml
@@ -2459,7 +2459,7 @@
נקודות דרך, נקודות עניין, תכונות עם שםמסגרת זמןניתן להעלות את הערות ה־OSM שלך באופן אנונימי או על ידי שימוש בפרופיל שלך ב־OpenStreetMap.org.
- הצגת התראת מערכת שמאפשרת הקלטת טיול.
+ הצגת התראת מערכת שמאפשרת התחלת הקלטת טיול.הופסקהוקלטערכת הצבעים של קווי המתאר
@@ -3828,4 +3828,8 @@
כסא גלגלים ספורטיביקארטינגהערת OSM סגורה
+ עליך להגדיר ימי עבודה כדי להמשיך
+ מסלול בין נקודות
+ תכנון מסלול
+ הוספה למסלול
\ No newline at end of file
diff --git a/OsmAnd/res/values-ja/strings.xml b/OsmAnd/res/values-ja/strings.xml
index d1982ce869..717c470f5c 100644
--- a/OsmAnd/res/values-ja/strings.xml
+++ b/OsmAnd/res/values-ja/strings.xml
@@ -2593,7 +2593,7 @@ POIの更新は利用できません
\n
POIのラベル記事を読む
- グループのすべてのポイント
+ 同じグループのお気に入り地点追加のアクション選択された注釈と座標が付属しているGPXファイル。全ての注釈と座標が付属していGPXファイル。
diff --git a/OsmAnd/res/values-large/sizes.xml b/OsmAnd/res/values-large/sizes.xml
index b8c65c032e..02abe48c01 100644
--- a/OsmAnd/res/values-large/sizes.xml
+++ b/OsmAnd/res/values-large/sizes.xml
@@ -80,7 +80,7 @@
12dp330dp48dp
- 78dp
+ 84dp18dp24dp18dp
@@ -88,6 +88,7 @@
24dp12dp12dp
+ 15dp54dp
diff --git a/OsmAnd/res/values-nb/strings.xml b/OsmAnd/res/values-nb/strings.xml
index f502cb1dd6..ae90760a4f 100644
--- a/OsmAnd/res/values-nb/strings.xml
+++ b/OsmAnd/res/values-nb/strings.xml
@@ -3682,4 +3682,5 @@
Peiling%1$s slettetLydstyrkeknapper til forstørring
+ Last ned Wikipedia-kart
\ No newline at end of file
diff --git a/OsmAnd/res/values-nl/strings.xml b/OsmAnd/res/values-nl/strings.xml
index 8823108ba9..975407761f 100644
--- a/OsmAnd/res/values-nl/strings.xml
+++ b/OsmAnd/res/values-nl/strings.xml
@@ -117,7 +117,7 @@
Er is al een bestand met geëxporteerde favorieten. Wil je dat bestand overschrijven?Instellingen voor profielStandaardprofiel
- Kaart- en navigatie instellingen worden per profiel onthouden. Kies hier het standaardprofiel.
+ Kaartweergave en navigatie-instellingen worden per profiel opgeslagen. Kies hier het standaardprofiel.NavigatieOpties voor navigatie.Algemene instellingen
@@ -127,7 +127,7 @@
Bewerk weergave- en algemene app-instellingen.Algemene instellingenOSM gebruikersnaam
- Nodig om bij te kunnen dragen aan OpenStreetMap.org.
+ Nodig om bij te kunnen dragen aan openstreetmap.org.OSM wachtwoordAchtergrond modusOsmAnd werkt op de achtergrond als het scherm uit is.
@@ -137,7 +137,7 @@
Transparant themaInterne bibliotheek wordt niet ondersteund op dit apparaat.Voorbereiden interne bibliotheek…
- Kaartpositie volgen
+ Kaartpositie automatisch centrerenTijd totdat kaartweergave wordt gesynchroniseerd met de positie.Alleen automatisch volgen tijdens navigatieAlleen automatisch volgen tijdens navigatie.
@@ -147,7 +147,7 @@
Kaartbron-instellingenVectorkaart-instellingen%1$s verwijderen?
- Stadsdeel
+ BuitenwijkGehuchtDorpPlaats
@@ -243,7 +243,7 @@
Extra kaartlaagKies de extra kaartlaagKaart is al geïnstalleerd, instellingen worden geactualiseerd.
- Kies (raster)kaarten om te installeren of te updaten.
+ (Raster)kaarten om te installeren of te updaten kiezen.De benodigde internetverbinding voor deze actie is niet beschikbaar.Installeer meer…Minimum zoomniveau om vectorkaarten in plaats van (raster)kaartsegmenten te gebruiken.
@@ -353,7 +353,7 @@
TelefoonTik om te zoekenHoge resolutie beeldscherm
- Rasterkaarten niet rekken op hoge-resolutie beeldschermen.
+ Rasterkaarten niet oprekken (en vervagen) op beeldschermen met hoge resolutie.Positie nog niet bekend.Zoek Openbaar VervoerOv-resultaten (geen bestemming):
@@ -372,7 +372,7 @@
In beweegrichtingNiet roteren (noorden boven)Kaart-uitlijning:
- Kaart oriëntatie
+ KaartoriëntatieRoute-detailsFavorieten succesvol geïmporteerdGPX-bestand met favorieten niet gevonden op {0}
@@ -386,7 +386,7 @@
Met dank aan Yandex voor de verkeersinformatie.Yandex TrafficRoute
- OSM-Opmerkingen (online)
+ OSM-opmerkingen (online)Kaartlaag met POI’s…Basiskaart…Kaartlagen
@@ -500,8 +500,8 @@
Kies eerst een bestemmingRouteOpeningstijden
- Wijzigingsset openen…
- Wijzigingsset sluiten…
+ Wijzigingenset openen…
+ Wijzigingenset sluiten…Punt wordt vastgelegd…POI wordt geladen…Authorisatie mislukt
@@ -527,7 +527,7 @@
GereedGebruik internet voor routeberekening.Gebruik online routeberekening
- Instellingen voor OpenStreetMap.org (OSM).
+ Instellingen voor OpenStreetMap.org (OSM) om OSM-bijdragen te maken.Specificeer taal, download/herlaad gegevens.GegevensOpenStreetMap bewerken
@@ -538,7 +538,7 @@
Huidige GPX-track opslaanRegistratie-interval bij navigatieStel het logging-interval in voor track-opname tijdens navigatie
- Tijdens het navigeren wordt automatisch een GPX-track gemaakt en opgeslagen.
+ Tijdens het navigeren wordt automatisch een GPX-track opgeslagen in de tracks-map.GPX-Track automatisch opnemen tijdens navigatieKaart bijwerkenHerlaad kaartsegment
@@ -562,7 +562,7 @@
Gebruik internetToon Huidige PositieToon GPS-coördinaten op kaart
- Ontbrekende kaartsegmenten van internet downloaden
+ Ontbrekende rasterkaartsegmenten downloadenNavigatieprogrammaZoekenZoeken
@@ -580,7 +580,7 @@
VoetgangerGecentreerdOnderaan
- Voer breedte- & lengtegraad in het geselecteerde formaat in (G - graden, M - minuten, S - seconden)
+ Breedte- en lengtegraad in het geselecteerde formaat invoeren (D - graden, M - minuten, S - seconden)BreedtegraadLengtegraadGG.GGGGG
@@ -627,7 +627,7 @@
Bewaar alsVerwijder dit filter\?Filter %1$s verwijderd
- Filter %1$s aangemaakt
+ Filter \'%1$s\' aangemaaktOsmAnd offline navigatie is tijdelijk niet beschikbaar.Linksrijdend verkeerActiveer in een land waar men links rijdt.
@@ -645,7 +645,7 @@
\n
\nRasterkaarten zijn direct via online bronnen verkrijgbaar of kunnen voor offline gebruik gereedgemaakt worden (en handmatig gekopieerd naar de OsmAnd gegevensmap) als SQLite database door diverse hulpprogramma\'s van derden.
Instellingen om tracking en navigatie te kunnen gebruiken met het scherm uit (schakelt de GPS periodiek in).
- Deze plug-in maakt de toegankelijkheids-opties van uw toestel beschikbaar in OsmAnd. Het vergemakkelijkt o.a. het aanpassen van de spreeksnelheid van tekst-naar-spraak stemmen, het configureren van D-pad scherm navigatie door gebruik van een trackbal voor zoomregeling of het gebruiken van tekst-naar-spraak opties voor het automatisch aankondigen van uw positie.
+ "Maakt de toegankelijkheidsopties van het toestel rechtstreeks beschikbaar in OsmAnd. Hiermee kan o.a. de spreeksnelheid van tekst-naar-spraak-stemmen aangepast worden, D-pad schermnavigatie geconfigureerd worden, een trackball gebruikt worden voor de zoomregeling, of het gebruiken van meldingen via tekst-naar-spraak, bijvoorbeeld het automatisch melden van de positie."Deze plug-in toont de instellingen voor ontwikkel- en debug-opties, zoals routetest en -simulatie, schermweergave-prestaties, en spraaksturing. Deze instellingen zijn bedoeld voor programmeurs die OsmAnd willen verbeteren en zijn niet nodig voor normaal gebruik.Plugins beherenSchakel plugins in voor speciale functies en extra instellingen.
@@ -668,7 +668,7 @@
Rotonde: neem de %1$de afslag en volgLinks aanhouden en volgRechts aanhouden en volg
- Maak alle oppervlaktes op de kaart transparant.
+ Maak alle landgebruikvlakken op de kaart transparant.VlakkenWeergavemodusKaartoptimalisatie voor profiel
@@ -968,13 +968,13 @@
Begin een nieuwe subtrackWis alle puntenBestaande GPX-track openen
- OSM-wijzigingenbestand succesvol aangemaakt %1$s
+ OSM-wijzigingenbestand is aangemaakt %1$sBackup van OSM-wijzigingen is mislukt.Backup als OSM-wijzigingZoek straat in nabijgelegen plaatsenVolgorde van tussenpunten geoptimaliseerd.Sorteer kortste afstand
- Kies eerst een plaats of straat
+ Eerst een plaats of straat instellenAls bestemming instellenBestemming %1$sSluitergeluid bij het maken van Foto
@@ -994,7 +994,7 @@
Specificeer OSM-gebruikersnaam en -wachtwoord in InstellingenWis TussenpuntenBewaar Tussenpunten
- Er zijn al Tussenpunten gemaakt.
+ Er zijn al tussenpunten ingesteld.Route naarRoute vanafKaart:
@@ -1002,26 +1002,26 @@
Via:OSM-wachtwoord (optioneel)Aankondigen…
- Stel in: aankondigen van straatnamen, verkeerswaarschuwingen (verplicht stoppen, drempels), snelheidscamera\'s, snelheidsbeperkingen.
+ Het aankondigen van straatnamen, verkeerswaarschuwingen (stopborden, verkeersdrempels), snelheidscamera\'s en snelheidsbeperkingen instellen.Straatnamen (TTS)Kies regio voor autorijden: VS, Europa, GB, Azië of andere.Regio voor autorijdenJapanVerenigde StatenCanada
- Europa, Azië, Zuid-Amerika en andere
- Verenigd Koninkrijk, India, en andere
+ Europa, Azië, Latijns-Amerika en dergelijke
+ Verenigd Koninkrijk, India en dergelijkeFPS-debuginformatie
- Zoomniveau\'s gedownload: %1$s
- Verlopen (minuten): %1$s
+ Gedownloade zoomniveau\'s: %1$s
+ Vervaltijd (minuten): %1$sDownloadbaar: %1$sMaximum zoomniveau: %1$sMinimum zoomniveau: %1$sKaartsegmentgegevens: %1$s
- Kaartsegmentbron %1$s werd succesvol opgeslagen
- Elliptische Mercator
+ Rasterkaartbron %1$s opgeslagen
+ Elliptische Mercator-projectieMax zoomniveau
- Verlopen (minuten)
+ Vervaltijd (minuten)Min zoomniveauURLKies een bestaande…
@@ -1055,7 +1055,9 @@
NavigatievoorkeurenRouteberekening-voorkeurenVrachtauto
- Vanaf Android 4.4 (KitKat) kunnen kaarten niet meer worden opgeslagen in de bestaande map(%s). Wil je een nieuwe map maken op de toegestane locatie en de OsmAnd-bestanden daar naartoe kopiëren\? Let op: oude bestanden blijven bestaan. U kunt ze zelf verwijderen. Let op: het is niet meer mogelijk bestanden te delen tussen OsmAnd en Osmand+ op de nieuwe bestandslocatie.
+ Sinds Android 4.4 (KitKat) wordt de oude opslaglocatie (%s) niet meer ondersteund. Alle OsmAnd-bestanden kopiëren naar de nieuwe opslaglocatie\?
+\n Opmerking 1: De oude bestanden blijven bestaan (maar kunnen handmatig verwijderd worden).
+\n Opmerking 2: Bij de nieuwe opslaglocatie is het niet langer mogelijk om bestanden te delen tussen OsmAnd en OsmAnd+.Kopieer bestand (%s) naar de nieuwe locatie…OsmAnd-bestanden worden naar de nieuwe locatie gekopieerd (%s)…Kopieer OsmAnd-bestanden…
@@ -1063,7 +1065,7 @@
Voorkeur voor snelwegenVoorkeur voor snelwegenGeen tolwegen
- Vermijd tolwegen
+ Vermijdt tolwegenGeen onverharde wegenVermijdt onverharde wegenGeen veerboten
@@ -1212,8 +1214,8 @@
Online tracking (GPX vereist)Start online trackenStop online tracken
- Start GPX-opname
- Stop GPX-opname
+ GPX-opname hervatten
+ GPX-opname pauzerenStart nieuw segmentBehoudenStoppen
@@ -1316,7 +1318,7 @@
Alle bestanden zijn bijgewerktGebruik OpenGLGebruik snelle hardware-gebaseerde OpenGL weergave (gebruikt mogelijk meer stroom en werkt mogelijk niet op oudere apparaten).
- Geen omweg gevonden
+ Geen omleiding gevondenDownloaden mislukt. Controleer de internetverbinding.Alle downloadsUpdates
@@ -1398,7 +1400,7 @@
Terug naar kaartDeel notitieLocatie:\n Lat %1$s\n Lon %2$s
- AV-Notities
+ Audio/Video-notitiesOnline kaartAlleen wegen%1$s beschikbaar
@@ -1444,7 +1446,7 @@
Pas toeStartStop
- Importeer
+ ImporterenExport naar OSMMeer…Meer acties
@@ -1752,16 +1754,16 @@
CoördinatenGewijzigde OSM POIGewiste OSM POI
- OSM-notitie aanmaken
- Heropen OSM-notitie
- Becommentarieerde OSM-notitie
- Aangemaakte OSM-notitie
- OSM-notitie
- Maak OSM-notitie aan
+ OSM-opmerking aanmaken
+ OSM-opmerking opnieuw activeren
+ Becommentarieerde OSM-opmerking
+ OSM-opmerking aangemaakt
+ OSM-opmerking
+ Notitie aanmakenVoeg commentaar toeHeropen opmerkingSluit notitie
- OSM-notitie is succesvol aangemaakt
+ Notitie aangemaaktKon notitie niet aanmaken.Notitie is geslotenKon notitie niet afsluiten.
@@ -1866,7 +1868,7 @@
%1$s bewerkingen, rang %2$s, wereldwijd: %3$s bewerkingenOSM-BijdragersplaatsOsmAnd Live abonnement
- Abonneer
+ AbonnerenNodig om u updates te bezorgen over uw bijdragen.Openbare naamMijn naam niet tonen in verslagen
@@ -1895,7 +1897,7 @@
{0} bestanden downloaden\?
\nTijdelijk is {3} MB nodig en permanent {1} MB. (Van {2} MB.)Je kunt OSM notities anoniem uploaden of je OpenStreetMap.org profiel gebruiken.
- Upload OSM-notitie
+ OSM-opmerking uploadenEerste MarkeervlaggetjeTweede MarkeervlaggetjeWerkbalk
@@ -1922,7 +1924,7 @@
Volledig VerslagOSM loginnaam and wachtwoordVerslag
- Bestandsnaam bevat verkeerd teken
+ Bestandsnaam bevat ongeldig tekenMarkeervlaggetjes kun je via de kaart toevoegenGeen punten gevondenDun
@@ -1964,7 +1966,7 @@
Geef de richting van de bestemming aan met trillingen.Verplaats de kaart om de positie van de markering te wijzigen
- Batterij niveau
+ BatterijniveauHongaars (formeel)Huidig padVerschuif markering
@@ -1975,10 +1977,10 @@
AsturischLijnbusTrein
- Coördinaten formaat
+ Coördinatenformaat24/7 geopendGeheugenkaart
- Formaat voor geografische coördinaten.
+ Formaat van geografische coördinaten.ZoekCategoriePostcode
@@ -2016,8 +2018,8 @@
Vind mijn positieGeen updates tonenAlle opgeslagen kaarttegels wissen
- Het abonnementsgeld is maandelijks. Het abonnement kan elk moment via Google Play worden gestopt.
- Gift aan de OpenStreetMap community
+ Het abonnementsgeld wordt volgens de gekozen abonnementsvorm geïncasseerd. Het abonnement kan op elk moment via Google Play worden gestopt.
+ Gift aan de OSM-gemeenschapEen deel van de gift gaat naar OSM-medewerkers. Het abonnementsgeld verandert niet.Het abonnement geeft toegang tot Live Updates (elk uur, elke dag of elke week) en onbeperkte downloads van kaarten van de gehele wereld.Abonnement nemen
@@ -2031,7 +2033,7 @@
AustraliëKabylischGekozen categorieën
- Maak eigen filter
+ Eigen filter makenFiltersFilters toepassenFilter opslaan
@@ -2046,7 +2048,7 @@
Plaatsnaam, adres of naam invoerenLichtbruinDonkerbruin
- Hoogtelijnen kleurenschema
+ Kleurenschema voor hoogtelijnenKwaliteit van het wegdekKerstmis-POIVoor Kerst en Oud en Nieuw: u kan kiezen om de POI voor kerstbomen en kerstmarkten enz. tonen.
@@ -2085,7 +2087,7 @@
Servisch (Latijns schrift)Chinees (Hong Kong)Hoogtelijnen: dichtheid
- Dichtheid hoogtelijnen
+ Dichtheid van hoogtelijnenHoogGemiddeldLaag
@@ -2112,7 +2114,7 @@
Audionotitie makenVideonotitie makenFotonotitie maken
- OSM-notitie toevoegen
+ OSM-opmerking toevoegenStembegeleiding aan/uitStembegeleiding aanStembegeleiding uit
@@ -2131,7 +2133,7 @@
Een knop om een audio-notitie toe te voegen in het midden van het scherm.Een knop om een video-notitie toe te voegen in het midden van het scherm.Een knop om een foto-notitie toe te voegen in het midden van het scherm.
- Een knop om een OSM-notitie toe te voegen in het midden van het scherm.
+ Een knop om een OSM-opmerking toe te voegen in het midden van het scherm.Een knop om een POI toe te voegen in het midden van het scherm.Een schakelknop om de stembegeleiding aan of uit te zetten tijdens navigatie.Een knop om een parkeerlocatie toe te voegen in het midden van het scherm.
@@ -2233,7 +2235,7 @@
Abonneer op de mailinglijst voor aanbiedingen en ontvang 3 extra kaart-downloads!Zeedieptecontouren en zeemerkpunten.Bedankt voor het aanschaffen van Zeediepten-contouren
- Zeediepte-contourlijnen
+ Nautische dieptelijnenZeediepten Zuidelijk HalfrondZeediepten Noordelijk HalfrondDiepte contourlijnen
@@ -2250,12 +2252,12 @@
VlakKortere routesUitgebalanceerd
- Verkies binnenwegen
+ Voorkeur voor binnenwegenTerrein-voorkeur: vlakke- of heuvelachtige wegen.GroepsnaamKleur wijzigenNaam wijzigen
- Animeer eigen positie
+ Eigen positie animerenSchakel levendige kaartverschuiving in van \'Mijn positie\' tijdens navigatie.HellingNieuwe map toevoegen
@@ -2322,20 +2324,20 @@
\n • Upload GPX-tracks naar OSM, rechtstreeks vanuit de app
\n • Voeg POIs toe en upload deze direct naar OSM (of later in offline-modus)
\n
- OsmAnd is open-source en wordt steeds verder ontwikkeld. Iedereen kan helpen door bugs te melden, vertalingen te verbeteren of nieuwe functies te programmeren. Door deze interactie wordt het steeds beter. De ontwikkeling is mede afhankelijk van giften om programmeurs en testers, voor nieuwe functies, te betalen.
-\n
-\nIndicatie van compleetheid en kwaliteit van de kaart:
+ OsmAnd is open-source en wordt actief ontwikkeld. Iedereen kan bijdragen door bugs in de app te melden, vertalingen te verbeteren of nieuwe functies te programmeren. Bovendien is het project afhankelijk van financiële bijdragen om het ontwikkelen en testen van nieuwe functies te financieren.
+\n Indicatie van volledigheid en kwaliteit van de kaart:
\n • West-Europa: ****
\n • Oost-Europa: ***
\n • Rusland: ***
\n • Noord-Amerika: ***
\n • Zuid-Amerika: **
\n • Azië: **
-\n • Japan & Korea: ***
+\n • Japan en Korea: ***
\n • Midden-Oosten: **
\n • Afrika: **
\n • Antarctica: *
-\n Voor bijna elk land ter wereld kunt u een kaart downloaden.
+\n Voor bijna elk land ter wereld kunnen kaarten gedownload worden!
+\n Gebruik een betrouwbare navigator, of dit nu in Frankrijk, Duitsland, Mexico, het Verenigd Koninkrijk, Spanje, Nederland, de Verenigde Staten, Rusland, Brazilië of waar dan ook is.Indicatie van de volledigheid en kwaliteit van het kaartmateriaal:
\n • West-Europa: ****
\n • Oost-Europa: ***
@@ -2351,10 +2353,10 @@
\nNaam bevat erg veel hoofdletters, toch doorgaan?Zoek in Favorieten
- OSM-notities tonen of verbergen
- OSM-notities tonen
- OSM-notities verbergen
- Knop om OSM-notities al dan niet te tonen.
+ OSM-opmerkingen tonen of verbergen
+ OSM-opmerkingen tonen
+ OSM-opmerkingen verbergen
+ Knop om OSM-opmerkingen al dan niet te tonen.Gesorteerd op afstandUw bestemming ligt in een gebied dat particulier eigendom is. Wilt u gebruik van particuliere wegen voor deze route toestaan\?Opnieuw zoeken
@@ -2370,7 +2372,7 @@
Mapillary openenInstalleerVerbeter de fotocollectie van Mapillary
- Installeer Mapillary om een of meerdere foto\'s aan deze locatie toe te voegen.
+ Installeer Mapillary om foto\'s aan deze kaartlocatie toe te voegen.Deel uw straatniveau uitzicht via Mapillary.Snel bijdragen aan Mapillary.Foto\'s van buiten voor iedereen. Ondek plaatsen, werk samen, en leg de wereld vast.
@@ -2456,7 +2458,7 @@
Afgelopen 7 dagenDit jaarSelecteer navigatieprofiel
- Voeg minstens een punt toe.
+ Voeg tenminste één punt toe.GPX bestandsnaam:Toon op kaart na opslaanAfstand meten
@@ -2469,8 +2471,8 @@
LijstGroepenWijzig notitie
- Wijzig OSM-notitie
- Voeg kopie van het startpunt toe als bestemming.
+ Wijzig OSM-opmerking
+ Kopie van het vertrekpunt toevoegen als bestemming.Een rondreis makenMarkeringenCoördinatenformaat
@@ -2504,7 +2506,7 @@
Kaartmerkering naar geschiedenis verplaatstKaartmarkering actief gemaaktLaatst gebruikt: %1$s
- Maak actief
+ ActiverenOsmAnd zal de punten verbinden met een route voor het gekozen profiel.Sla de punten op als routepunten of als een lijn.Bekijk de kaart en voeg punten toe
@@ -2534,10 +2536,10 @@
Tijdbuffer voor verzenden van live trackGeef een tijd op gedurende welke posties bewaard worden als er geen internetverbinding isMapillary-foto\'s zijn enkel online beschikbaar.
- Registreer of importeer tracks om weer te geven.
+ GPX-bestanden importeren of tracks opnemen.Favorieten toevoegen
- Importeer Favorieten, of voeg ze via markeerpunten toe aan de kaart.
- Importeer track
+ Favorieten importeren of toevoegen door punten te markeren op de kaart.
+ GPX-bestand importerenBestand %1$s bevat geen waypoints. Importeren als een track?Verplaats puntVoeg toe aan GPX-track
@@ -2557,13 +2559,13 @@
Volledig schermMarkering gepasseerdkan worden geïmporteerd als Favorieten of als GPX-bestand.
- importeer als GPX-bestand
+ als GPX-bestand importerenImporteren als Favorieten
- Importeer bestand
+ Bestand importerenWeergeven op de kaartFavorietencategorie
- Voeg een groep toe
- Maak markeringen aan op de kaart!
+ Een groep toevoegen
+ Kaartmarkeringen maken!TweeEenKies hoeveel markeervlaggetjes getoond worden.
@@ -2584,17 +2586,17 @@
Zoekopdracht wijzigen.ActiesMarkering
- Maak of wijzig OSM-objecten
+ OSM-objecten aanmaken of wijzigenVerwijderdGewijzigdToegevoegdGPX-bestand met coördinaten en gegevens van de geselecteerde notities.GPX-bestand met coördinaten en gegevens van alle notities.
- Creëer of wijzig OSM POI, open of becommentarieer OSM-notities en draag bij met opgenomen GPX-bestanden.
+ OSM-POIs aanmaken of wijzigen, OSM-opmerkingen aanmaken of becommentariëren en opgenomen GPX-tracks bijdragen.Markering %s is geactiveerd.
- Maak notities!
- Voeg audio-, video- of fotonotities toe voor elk punt op de kaart, gebruik het widget of context menu.
- OSM notities op datum
+ Notities maken!
+ Audio-, video- of fotonotities toevoegen aan elk willekeurig punt op de kaart door gebruik te maken van de widgets of contextmenu’s.
+ Audio/Video-notities op datumOp datumOp typeMeer
@@ -2631,8 +2633,8 @@
Onbeperkte downloadsWikipedia offlineHoogtelijnen & Reliëfschaduwkaarten
- Ontgrendel alle OsmAnd mogelijkheden
- Kies je aankoop
+ Ontgrendel alle OsmAnd-functies
+ Abonnementsvorm kiezenKies een van onderstaande aankopen om de offline reisgids te kunnen gebruiken:Kies een passend productNiet doen
@@ -2660,7 +2662,7 @@
Twee cijfers gebruiken voor lengtegraadReisgidsenNiets gevonden:
- Wis alle tussenpunten
+ Alle tussenpunten wissenGroep verwijderdWildwatersportenHet verste eerst
@@ -2685,8 +2687,8 @@
Kaart geïmporteerdInstellen als startpuntHuidige
- Voeg een tussenstop toe
- Voeg eerste stop toe
+ Voegt een tussenstop toe
+ Voegt eerste stop toeBestemming naar boven schuiven en creëer haarGesloten opmerkingen tonenOSM-opmerkingen op de kaart tonen/verbergen.
@@ -2702,7 +2704,7 @@
POI-namenZonder naamWat is dit hier:
- Open van
+ Open vanafOpen totSluit omGaat open om
@@ -2770,15 +2772,15 @@
Neem OsmAnd Live en krijg alle mogelijkheden: Dagelijkse kaartupdates en onbeperkte downloads, alle betaalde en gratis plugins, Wikipedia, Wikivoyage en veel meer.Wijziging van de standaard Kaartstijl met meer constrast voor wandel-en fietspaden. Gebruikt de Mapnik-kleuren.Waypoints verwijderd uit de \"Markeervlaggetjes\"
- Voeg alle Waypoints uit de track toe, of kies een categorie.
+ Voeg alle routepunten uit de track toe, of kies aparte categoriën.Tik op een Markeervlaggetje om die bovenaan de actieve lijst te zetten, zonder het contextmenu te openen.\'Eén tik\' actiefTracks met routepunten zoeken
- Kies een track, om de routepunten aan de Markeervlaggetjes toe te voegen.
+ Kies een track om de routepunten aan de Markeervlaggetjes toe te voegen.Track routepunten
- Importeer groepen vanuit Favorieten of GPX routepunten.
+ Importeer groepen vanuit Favorieten of GPX-routepunten.Druk lang of kort op de kaart en tik vervolgens op de Markeervlaggetje knop.
- Importeer een Groep Favorieten of routepunten als Markeervlaggetjes.
+ Importeer een Favorietengroep of routepunten als Markeervlaggetjes.Markeervlaggetjes die niet actief zijn, verschijnen op dit scherm.Toon rechte lijnen van je positie naar de actieve markeervlaggetjes.Toon een of twee pijlen in de richting van de actieve markeervlaggetjes.
@@ -2817,7 +2819,7 @@
Vorige vlaggetjes op de kaart behoudenMeerdere verbindingen beschikbaar vanaf deze halte.Geef OsmAnd toegang tot uw locatie om door te gaan.
- Markeervlaggetjes die als Favorieten of als GPX-track toegevoegd zijn, en afgehandeld zijn, blijven zichtbaar op de kaart. Als die groep niet meer actief is, zullen ze verdwijnen.
+ Markeervlaggetjes die als Favorietengroep zijn toegevoegd of GPX-routepunten die als Gepasseerd gemarkeerd zijn blijven zichtbaar op de kaart. Als de groep niet actief is, verdwijnen de markeringen van de kaart.Alleen 360°-foto\'s tonenZwartKopieer locatie/POI-naam
@@ -2843,9 +2845,9 @@
Lengte van waarde \"%s\"Lees meer op onze blog over hoe OsmAnd routes berekent.OV-navigatie is op dit moment in bèta-test, houd rekening met fouten en onnauwkeurigheden.
- Voeg tussenpunt toe
- Voeg vertrekpunt en bestemming toe
- Voeg vertrekpunt toe
+ Tussenpunt toevoegen
+ Vertrekpunt en bestemming toevoegen
+ Vertrekpunt toevoegenSelecteer vertrekpuntOnverhardZand
@@ -2910,7 +2912,7 @@
BreedteHoogteStel de bestemming in
- Voeg tussenpunt toe
+ Tussenpunt toevoegenStel het vertrekpunt inTussenpuntTe voet
@@ -2992,7 +2994,7 @@
Nieuw profielUFOWeg
- Aan het zoeken naar GPS
+ GPS zoekenRechte lijnProfielinstellingen:OsmAnd gebruikt het UTM Standard formaat. Dit lijkt sterk op het UTM Nato formaat, maar is niet identiek.
@@ -3023,8 +3025,8 @@
SkiType: %sBasisprofiel
- Selecteer navigatietype
- Kies een navigatietype voor het nieuwe profiel
+ Navigatietype selecteren
+ Kies een navigatietype voor het nieuwe app-profielProfielnaam invoerenGeef eerst een profielnaam op.Dubbele naam
@@ -3035,7 +3037,7 @@
Profiel verwijderenWeet je zeker dat je profiel \"%s\" wilt verwijderenSelecteer een profiel om mee te starten
- Selecteer navigatietype
+ Navigatietype selecterenAuto, vrachtauto, motorMountainbike, brommer, paardWandelen, trektocht, joggen
@@ -3095,11 +3097,11 @@
Geïnstalleerde pluginsNavigatie instellenTerugzetten naar standaardwaarden
- Maak, importeer of wijzig profielen
+ Profielen aanmaken, importeren of wijzigenOsmAnd instellingenKopieer van een ander profielAndere
- Gewicht, hoogte, snelheid
+ Gewicht, hoogte, lengte, snelheidVoertuigparametersDownload gedetailleerde kaart van %s, om dit gebied te bekijken.%1$s • %2$s
@@ -3136,7 +3138,7 @@
\'%1$s\' bestaat al. Overschrijven\?Profiel kon niet geëxporteerd worden.Profiel importeren
- Voeg een profiel toe door zijn bestand met OsmAnd te openen.
+ Voeg een profiel toe door het bestand met OsmAnd te openen.%1$s fout bij het importeren: %2$s%1$s geïmporteerd.Wit
@@ -3151,7 +3153,7 @@
Nauwkeurigheid horizontaal: %1$s, verticaal: %2$sHorizontale nauwkeurigheid: %sBepaal hoelang het scherm aan moet blijven.
- Beweeg je hand over het scherm om het in te schakelen tijdens het navigeren.
+ Het scherm gaat aan door met de hand boven het scherm te bewegen.GeenToon de kaart op het vergrendelscherm tijdens navigatie.Navigatie-instellingen voor het geselecteerde profiel \"%1$s\".
@@ -3246,10 +3248,10 @@
Sta alleen voor skating toegestane routes toeRoutes alleen geprepareerd voor freestyle of skating zonder klassieke tracks.Sta alleen klassieke routes toe
- Routes alleen geprepareerd voor klassieke stijl zonder skating sporen. Inclusief routes geprepareerd door kleiner sneeuwmobielen met lossere piste en tracks gemaakt door skiërs.
- Voorkeursmoeilijkheidsgraad
+ Routes alleen geprepareerd voor klassieke stijl zonder skating sporen. Inclusief routes geprepareerd door kleinere sneeuwscooters met lossere piste en tracks gemaakt door skiërs.
+ Gewenste moeilijkheidsgraadGeef voorkeur aan routes met deze moeilijkheidsgraad hoewel routering over moeilijkere of makkelijkere pistes ook mogelijk is indien korter.
- Freeride en off-piste zijn officieuze routes en passages. Officieel meestal niet geprepareerd en onderhouden, en niet \'s avonds gecheckt. Op eigen risico betreden.
+ \'Freeride\' en \'Off-piste\' zijn officieuze routes en passages. Meestal onverzorgd en niet onderhouden, en niet \'s avonds gecontroleerd. Betreden op eigen risico.Verzamelde dataLaatste OsmAnd uitvoering gecrasht. Help ons alstublieft OsmAnd te verbeteren door de foutmelding te delen.Personal transporter
@@ -3270,7 +3272,7 @@
Abonnement beëindigen%1$s • Bespaar %2$sAnalyse
- Scherm aan gedurende
+ Timeout na ontwakenUiterlijkKaart weergaveKopieer pad naar de OsmAnd data folder
@@ -3310,10 +3312,10 @@
Bepaal popups, dialogen en meldingen.Voorgestelde kaartenDeze kaarten zijn nodig voor de plugin.
- Toegevoegde profielen
- Profielen toegevoegd door plugin
+ Profielen toegevoegd
+ Door plug-in toegevoegde profielenUitschakelen
- Nieuwe plugin toegevoegd
+ Nieuwe plug-in toegevoegdverbind segmenten• App profiles: Create a custom profile for your own needs, with a custom icon and color
\n
@@ -3337,7 +3339,7 @@
\n
\nNetwerk knooppunten
- Voeg nieuw profiel toe \'%1$s\'\?
+ Het nieuwe profiel \'%1$s\' toevoegen\?Sla koers naar elk trackpunt op tijdens het opnemen.Richting toevoegenPersoonlijk
@@ -3349,16 +3351,16 @@
Positie-icoon bij rustTikken op \'Toepassen\' verwijdert geannuleerde profielen definitief.Hoofdprofiel
- Selecteer kleur
+ Kleur selecterenU kunt geen standaard OsmAnd profielen verwijderen, maar u kunt ze deactiveren (in het vorige scherm), of naar onderen verplaatsen.Wijzig profielen
- \'Navigatie type\' regelt de routeberekening.
+ \'Navigatietype\' bepaalt hoe routes berekend worden.Profiel aanzichtIcoon, kleur en naamWijzig lijst met profielenGeselecteerd profielPositie-icoon tijdens bewegen
- Op %1$s tikken laat al uw wijzigingen verloren gaan.
+ Door op %1$s te tikken gaan alle wijzigingen verloren.Alle profiel instellingen terugzetten naar installatie standaardwaarden.Alle profiel instellingen terugzetten naar standaard\?Beoordeel
@@ -3366,9 +3368,9 @@
%1$s: %2$sGeen navigatieregels in \'%1$s\' . Kies een ander bestand.Selecteer een ondersteund bestand met %1$s extensie.
- Importeer uit bestand
- Importeer reisroutebestand
- Importeer profiel
+ Uit bestand importeren
+ Routebestand importeren
+ Profiel importerenNavigatie, opnameprecisieAfbeeldingsgrootte, geluids- en videokwaliteitLogin, wachtwoord, offline bewerken
@@ -3376,7 +3378,7 @@
Laat u toe uw positie te delen dankzij reisopname.Online volgenOpnamenauwkeurigheid
- U kan al uw opgenomen tracks terugvinden bij %1$s of in OsmAnd-map met een bestand verkenner.
+ De opgenomen tracks zijn opgeslagen in %1$s, of in de OsmAnd-map.U kan al uw notities terugvinden in %1$s.VideonotitiesFotonotities
@@ -3389,12 +3391,12 @@
OSMTijdens navigatie of beweging getoond icoon.Bij rust getoond icoon.
- Controleer en deel gedetailleerde logs van de applicatie
+ Controleer en deel gedetailleerde logs van de appToestemming is vereist om deze optie te gebruiken.Dit is een filter waarbij geen punten worden geregistreerd bij een bepaalde lage snelheid. Dit zorgt voor effener tracks op de kaart.Bijwerking: alle segmenten waar de minimum snelheid niet werd gehaald zullen ontbreken in je track (bvb waar je je fiets een steile helling opduwde). Ook zal info over rustperiodes ontbreken. Dat heeft gevolgen voor latere analyse of verwerking, zoals het bepalen van de totale lengte van je trip, tijd in beweging of gemiddelde snelheid.Aanbeveling: probeer eerst de bewegingsdetectie via het minimum verplaatsingsfilter loggen (B) om betere resultaten en minder gegevensverlies te bekomen. Probeer waardes hoger dan 0 wanneer je tracks te veel ruis bevatten bij lage snelheid. Noteer dat sommige metingen totaal geen snelheid rapporteren (op netwerk gebaseerde methodes), zodat je niets vastlegt.
- Dit zal slechts punten met een minimale nauwkeurigheid-indicatie opnemen (in meter/voet, zoals voor jouw chipset door Android gerapporteerd). Nauwkeurigheid refereert naar de spreiding van opeenvolgende metingen en is niet rechtstreeks gerelateerd met precisie, die definieert hoe nabij je metingen zich tot je echte positie bevinden.
+ Dit zal slechts punten met een indicatie van de minimale nauwkeurigheid opnemen (in meter/voet, zoals door Android gerapporteerd wordt voor de chipset). Nauwkeurigheid is de afwijking van metingen ten opzichte van de echte positie en is niet rechtstreeks gerelateerd aan precisie, wat de spreiding is van herhaalde metingen.Aanbeveling: een instelling van 5 meter kan voor jou goed werken wanneer je geen fijnere details dan die nodig hebt. Of wanneer je niet expliciet gegevens wil verzamelen tijdens het rusten.Tijd-bufferRegistratie-interval
@@ -3410,21 +3412,21 @@
Camera sluiter geluidToestemming is geluktHerschik categorieën
- Wijzig de sorteervolgorde van een lijst, verberg onnodige categorieën. U kunt alle wijzigingen in profielen, exporteren of importeren.
- Je kan een nieuwe eigen categorie toevoegen door een of meerdere benodigde categorieën te kiezen.
- Herstel naar standaard zal de sorteervolgorde terugzetten zoals die was bij installatie.
+ Wijzig de sorteervolgorde van de lijst, verberg categorieën. Alle wijzigingen kunnen met profielen geïmporteerd of geëxporteerd worden.
+ Een nieuwe eigen categorie toevoegen door een of meer categorieën te kiezen.
+ \'Terugzetten naar standaardwaarden\' zal de sorteervolgorde terugzetten zoals die was bij installatie.BeschikbaarEigen categorie toevoegenEnkel \'s nachts tonen
- Alle plugin instellingen teruggezet naar standaardwaarden.
- Alle profielinstellingen teruggezet naar standaardwaarden.
+ Alle plug-in-instellingen zijn teruggezet naar de standaardwaarden.
+ Alle profielinstellingen zijn teruggezet naar de standaardwaarden.%1$s/%2$sZonsondergang om %1$sZonsopkomst om %1$s
- Toegankelijkheidsmodus uitgeschakeld in je systeem.
+ Toegankelijkheidsmodus is uitgeschakeld in de Android systeeminstellingen.Gebruik de scherm time-out van het systeem
- Standaard niet actief. Wanneer OsmAnd in de voorgrond loopt zal het scherm niet uitschakelen.
-\n
+ Standaard niet actief: Wanneer OsmAnd in de voorgrond actief is zal het scherm niet uitschakelen.
+\n
\nBij activatie zal OsmAnd de time-out instellingen van het systeem volgen.Verwijder opgenomen gegevensKopieer coördinaten
@@ -3439,7 +3441,7 @@
%1$s — %2$s — %3$sRouteringBijkomende gegevens insluiten
- Het geïmporteerde profiel bevat bijkomende gegevens. Klik \'importeer\' om enkel de profielgegevens te importeren of kies bijkomende gegevens om te importeren.
+ Het geïmporteerde profiel bevat aanvullende gegevens. Tik \"Importeren\" om enkel de profielgegevens te importeren of kies aanvullende gegevens om te importeren.Je kan bijkomende gegevens om mee met het profiel te exporteren.App Standaardwaarde (%s)Niet herberekenen
@@ -3466,10 +3468,10 @@
Sommige elementen bestaan reedsKies de te importeren gegevens.Weergavestijl
- Importeer reproduceer-bestand
+ Rendering-bestand importerenAlle profielinstellingen zullen hersteld worden naar hun standaardwaarden na het maken/importeren van dit profiel.Alle profielinstellingen herstellen\?
- Slaat nieuw profiel op
+ Nieuw profiel wordt opgeslagenKan profiel niet back-uppen.%1$s van %2$sHellingen
@@ -3484,7 +3486,7 @@
CirkelRuitMin
- Combineer POI-types uit verschillende categorieën. Tik op \"Schakelen\" om alles te selecteren, tik op de linkerkant voor de categoriekeuze.
+ Combineer POI-types uit verschillende categorieën. Tik op \"Selecteer alles\" om alles binnen een categorie te selecteren, of kies individuele types.Extra kaartenNiet ondersteunde actie %1$sOsmAnd tracker
@@ -3505,10 +3507,10 @@
Standaard schermtimeouttonmeter
- Toon/verberg extra kaartdetails
+ Extra kaartdetails tonen of verbergenNachtkaart
- Voeg online bron toe
- Het toepassen van deze wijzigingen wist de cache van deze tile-bron
+ Online bron toevoegen
+ Het toepassen van deze wijzigingen wist de cache van deze rasterkaartbronStel de hoogte van het vaartuig inStel de hoogte van het vaartuig in om lage bruggen te vermijden. Let op, als de brug beweegbaar is, gebruiken we de hoogte in geopende toestand.Mapillary tonen/verbergen
@@ -3554,7 +3556,7 @@
LegendaAlle gegevens uit de %1$s zijn geïmporteerd, open met de onderstaande knoppen het benodigde deel van de app om deze te beheren.Import voltooid
- Items toegevoegd
+ Elementen toegevoegdOsmAnd controleert %1$s op duplicaten met bestaande items in de app.
\n
\nDit kan even duren.
@@ -3572,11 +3574,11 @@
Mappen, contextmenuAanpassing van de gebruikersinterfaceMap
- Herschik of verberg items uit de %1$s.
+ Herschik of verberg elementen uit de %1$s.ScheidingslijnElementen na dit punt zijn gescheiden door een scheidingslijn.Verborgen
- Deze items worden niet getoond in het menu, maar de bijbehorende opties of plug-ins blijven werken.
+ Deze elementen worden niet getoond in het menu, maar de bijbehorende opties of plug-ins blijven werken.Door instellingen te verbergen worden deze in hun oorspronkelijke staat hersteld.Heeft maar vier knoppen.U kunt items alleen binnen deze categorie verplaatsen.
@@ -3585,7 +3587,7 @@
ToerskiënSneeuwscooterAangepaste OsmAnd-plug-in
- Items
+ ElementenWijzigingen toegepast op het \'%1$s\'-profiel.Kon niet lezen van \'%1$s\'.Kon niet schrijven naar \'%1$s\'.
@@ -3634,11 +3636,11 @@
Favoriet toevoegen / bewerkenPOI toevoegen / bewerkenParkeerlocaties
- Standaardvolgorde van de items herstellen
+ Standaardvolgorde van de ekementen herstellenTerugkeren naar wijzigenDe sneltoets wisselt tussen de geselecteerde profielen.
- Voeg profiel toe
- Wijzig app-profiel
+ Profiel toevoegen
+ App-profiel wijzigingenWereldoverzichtskaart (gedetailleerd)Niet ondersteund typeGeef de voertuigbreedte op, er zijn mogelijk routebeperkingen voor brede voertuigen.
@@ -3660,11 +3662,11 @@
Scherm uitlatenScherm aanlatenPseudo-Mercatorprojectie
- Eén beeldbestand per tile
+ Eén beeldbestand per rasterkaartsegmentSQLiteDB-bestandGeef een naam voor de online kaartbron.
- De URL van de onlinebron invoeren of plakken.
- Bewerk onlinebron
+ De URL van de online-bron invoeren of plakken.
+ Online-bron bewerkenVervaldatumMercatorprojectieOpslagformaat
@@ -3686,17 +3688,17 @@
Om Reliëfschaduw te tonen zijn extra kaarten nodig.ReliëfschaduwSelecteer deze optie om een reliëfschaduw- of hellingskaart te tonen. Op onze site staat meer informatie over deze kaarttypes.
- Heeft invloed op de weergave bij gebruik als kaart of als extra kaartlaag/achtergrondlaag.
-\n
-\n%1$s: De kaart wordt alleen getoond binnen het geselecteerde zoombereik.
-\n
-\n%2$s zijn de niveau’s waarop de originele tiles zichtbaar zijn, buiten dit bereik wordt gebruik gemaakt van upscaling of downscaling.
- Gecachte tiles worden na het opgegeven aantal minuten opnieuw gedownload. Laat dit veld leeg om tiles van deze bron nooit te vernieuwen.
-\n
-\nEen dag is 1440 minuten.
-\nEen week is 10 080 minuten.
+ Heeft invloed op de weergave bij gebruik als kaart of als extra kaartlaag/achtergrondlaag.
+\n
+\n%1$s: De kaart wordt alleen getoond binnen het geselecteerde zoombereik.
+\n
+\n%2$s zijn de niveau’s waarop de originele rasterkaartsegmenten zichtbaar zijn, buiten dit bereik wordt gebruik gemaakt van upscaling of downscaling.
+ Gecachte rasterkaartsegmenten worden na het opgegeven aantal minuten opnieuw gedownload. Laat dit veld leeg om segmenten van deze bron nooit te vernieuwen.
+\n
+\nEen dag is 1440 minuten.
+\nEen week is 10 080 minuten.
\nEen maand is 43 829 minuten.
- Kies hoe gedownloade tiles worden opgeslagen.
+ Kies hoe gedownloade rasterkaartsegmenten worden opgeslagen.Geen overeenkomende profielen gevonden.Time-out van het schermInschakelen om het zoomniveau van de kaart in te stellen met de volumeknoppen.
@@ -3704,13 +3706,13 @@
Verkrijg informatie over POIs uit Wikipedia. Het is je offline reisgidsje - schakel de Wikipedia-plug-in in en geniet van artikelen over de bezienswaardigheden in je omgeving.Geef de voertuiglengte op, er zijn mogelijk routebeperkingen voor lange voertuigen.Het volgende routepunt wordt verwijderd. Als dit de eindbestemming was, stopt de navigatie.
- Verwijder het volgende routepunt
+ Het volgende routepunt verwijderenKies een naam voor het puntWikipedia-kaarten downloadenMotorscooterEnduromotorRolstoelRolstoel vooraanzicht
- Opgeloste OSM-notitie
+ Opgeloste OSM-opmerkingKart
\ No newline at end of file
diff --git a/OsmAnd/res/values-pl/strings.xml b/OsmAnd/res/values-pl/strings.xml
index c7ab2ef74d..8338aaddde 100644
--- a/OsmAnd/res/values-pl/strings.xml
+++ b/OsmAnd/res/values-pl/strings.xml
@@ -3815,4 +3815,15 @@
Uzyskaj informacje o interesujących miejscach z Wikipedii. Jest to kieszonkowy przewodnik offline - wystarczy włączyć wtyczkę Wikipedii i cieszyć się artykułami o obiektach wokół ciebie.Motocykl EnduroSkuter
+ Określ długość pojazdu dozwoloną na trasach.
+ Limit długości
+ Rolki
+ Przyciski głośności jako powiększenie
+ Wózek inwalidzki
+ Gokart
+ Zamknięte Uwagi OSM
+ Aby kontynuować, musisz ustawić dni robocze
+ Droga pomiędzy punktami
+ Zaplanuj trasę
+ Dodaj do śladów
\ No newline at end of file
diff --git a/OsmAnd/res/values-pt-rBR/strings.xml b/OsmAnd/res/values-pt-rBR/strings.xml
index 3b0b437c87..98806e2f4c 100644
--- a/OsmAnd/res/values-pt-rBR/strings.xml
+++ b/OsmAnd/res/values-pt-rBR/strings.xml
@@ -2286,7 +2286,7 @@ Pôr do Sol: %2$sAutodividir gravações após um intervaloIniciar novo segmento após intervalo de 6 min, uma nova trilha após intervalo de 2 h, ou um novo arquivo depois de um longo intervalo se a data foi alterada.Envie sua Nota OSM anonimamente ou através do seu perfil do OpenStreetMap.org.
- Exibir uma notificação do sistema permitindo a gravação de viagem.
+ Exibir uma notificação do sistema que permite iniciar a gravação da viagem.Antecipando os feriados de Natal e ano novo, você pode optar por exibir POIs relacionados ao Natal, como árvores de Natal, mercados, etc.Assinatura cobrada por período selecionado. Cancele-o no Google Play a qualquer momento.Parte da sua doação é enviada aos colaboradores do OSM. O custo da assinatura permanece o mesmo.
diff --git a/OsmAnd/res/values-pt/phrases.xml b/OsmAnd/res/values-pt/phrases.xml
index 4871e54c12..eb9e32712b 100644
--- a/OsmAnd/res/values-pt/phrases.xml
+++ b/OsmAnd/res/values-pt/phrases.xml
@@ -2568,7 +2568,7 @@
Salva de explosão: segunda ou posterior detonação de um teste de salvaExplosão: diâmetro de crateraExplosão: ogiva
- Explosão: dispositivo
+ Explosão: aparelhoComplementoViveiro de plantasSim
diff --git a/OsmAnd/res/values-pt/strings.xml b/OsmAnd/res/values-pt/strings.xml
index 52ec68e2d2..ab51b048ad 100644
--- a/OsmAnd/res/values-pt/strings.xml
+++ b/OsmAnd/res/values-pt/strings.xml
@@ -119,7 +119,7 @@
Tráfego YandexRotaFavoritos
- Anotações OSM (on-line)
+ Anotações da OSM (on-line)Sobreposição de POI…Fonte dos mapas…Camada de mapa
@@ -400,29 +400,29 @@
O mapa base está selecionado para descarregar para que a aplicação funcione.Quadrículas de mapa on-line e em cacheMapas padrão (vetorial)
- Ative o complemento de \'Mapas on-line\' para selecionar diferentes fontes de mapas
+ Ative o suplemento de \'Mapas on-line\' para selecionar diferentes fontes de mapasMapas On-line e MosaicosUse mapas online (descarregar e armazenar tiles no cartão de memória).Mapas on-lineConfigurar fontes de mosaicos ou de mapas on-line.
- Com este complemento, pode ter acesso a muitos tipos de mapas on-line (também chamada de quadrícula ou ladrilho), de quadrículas pré-definidas do OpenStreetMap (como Mapnik) para imagens de satélite e camadas especiais, como mapas aquáticos, climáticos, geológicos, camadas de sombra de relevo, etc.
-\n
+ Com este suplemento, pode ter acesso a muitos tipos de mapas on-line (também chamada de quadrícula ou ladrilho), de quadrículas pré-definidas do OpenStreetMap (como Mapnik) para imagens de satélite e camadas especiais, como mapas aquáticos, climáticos, geológicos, camadas de sombra de relevo, etc.
+\n
\nQuaisquer desses mapas podem ser usados como mapa principal (base) para ser mostrado no OsmAnd, ou como uma sobreposição, ou sub-camada para outro mapa base (como o mapa off-line normal de OsmAnd). Para fazer qualquer sub-camada do mapa mais visível, certos elementos do mapa vetorial do OsmAnd podem facilmente ser ocultados através do menu \'Configurar mapa\'.
-\n
+\n
\nQuadrículas de mapas podem ser obtidas diretamente através de fontes on-line ou podem ser preparados para uso off-line (e copiadas manualmente para o diretório de dados do OsmAnd) como um banco de dados sqlite, que pode ser produzido por uma variedade de ferramentas de terceiros para preparação de mapas.Mostra as configurações para ativar o rastreamento em segundo plano e a navegação, despertando periodicamente o aparelho GPS (com o ecrã desligado).
- Este complemento torna os recursos de acessibilidade do aparelho disponíveis diretamente no OsmAnd. Ele facilita, por exemplo, o ajuste da velocidade de fala para vozes TTS, configurando a navegação no ecrã do teclado direcional, usando um trackball para controlo da ampliação, ou feedback texto-para-fala, por exemplo, para anunciar automaticamente a sua posição.
- Este complemento mostra configurações para recursos de desenvolvimento e depuração como testar ou simular roteamento, o desempenho de renderização do ecrã ou solicitação de voz. Essas configurações são destinadas a programadores e não são necessárias para o utilizador em geral.
- Complementos
- Complementos ativam as configurações avançadas e funcionalidades adicionais.
- Complementos
- Este complemento do OsmAnd pode ser usado para enviar alterações para o OpenStreetMap, tais como criar ou alterar POIs, abrir ou comentar erros reportados do OpenStreetMap e contribuir com ficheiros GPX gravados. O OpenStreetMap é um projeto de mapeamento mundial dirigido pela comunidade e de domínio público. Para mais detalhes, consulte https://openstreetmap.org. A participação ativa é apreciada e as contribuições podem ser feitas diretamente do OsmAnd, se introduzir os seus dados de acesso à sua conta de utilizador do OpenStreetMap na aplicação.
+ Este suplemento torna os recursos de acessibilidade do aparelho disponíveis diretamente no OsmAnd. Ele facilita, por exemplo, o ajuste da velocidade de fala para vozes TTS, configurando a navegação no ecrã do teclado direcional, usando um trackball para controlo da ampliação, ou feedback texto-para-fala, por exemplo, para anunciar automaticamente a sua posição.
+ Este suplemento mostra configurações para recursos de desenvolvimento e depuração como testar ou simular roteamento, o desempenho de renderização do ecrã ou solicitação de voz. Essas configurações são destinadas a programadores e não são necessárias para o utilizador em geral.
+ Extensões
+ Extensões ativam configurações avançadas e funcionalidades adicionais.
+ Extensões
+ Este suplemento do OsmAnd pode ser usado para enviar alterações para o OpenStreetMap, tais como criar ou alterar POIs, abrir ou comentar erros reportados do OpenStreetMap e contribuir com ficheiros GPX gravados. O OpenStreetMap é um projeto de mapeamento mundial dirigido pela comunidade e de domínio público. Para mais detalhes, consulte https://openstreetmap.org. A participação ativa é apreciada e as contribuições podem ser feitas diretamente do OsmAnd, se introduzir os seus dados de acesso à sua conta de utilizador do OpenStreetMap na aplicação.Os mapas vetoriais são mostrados mais rapidamente. Podem não funcionar bem em alguns aparelhos.Selecione uma voz e teste reproduzindo anúncios:Desenvolvimento OsmAndRenderização nativaTestar comandos de voz
- Nenhum mapa vetorial presente para este local. Pode descarregar um em Configurações (\'Gerir ficheiros de mapas\') ou mudar para o complemento \"mapas online\".
+ Nenhum mapa vetorial presente para este local. Pode descarregar um em Configurações (\'Gerir ficheiros de mapas\') ou mudar para o suplemento \"mapas online\".Enviar ficheiros GPX para o OSM\?VisibilidadeEtiquetas
@@ -489,12 +489,12 @@
Usar sempre a edição offline.As alterações de POI dentro da aplicação não afetam os ficheiros de mapas descarregados; essas alterações são guardadas num ficheiro separado no seu aparelho.A enviar…
- {0} POIs/Anotações enviados
+ {0} POI/anotações enviadosEnviar todosEnviar a modificação OSMEliminar alteraçãoEdição assíncrona de OSM:
- POIs / anotações guardados no dispositivo
+ POIs / anotações guardados no aparelhoMostrar e gerir POIs/anotações OSM guardados localmente.Especificar intervalo de monitoramento on-line.Intervalo de rastreamento on-line
@@ -526,7 +526,8 @@
Configurações GlobaisConfigurações globais da aplicaçãoEspaço livre insuficiente, precisa de %1$s MB (só tem: %2$s disponíveis).
- Descarregar {0} ficheiro(s)\? O espaço de armazenamento usado é {1} MB. (O espaço disponível é {2} MB.)
+ Descarregar {0} ficheiro(s)\?
+\n {1} MB (de {2} MB) será utilizado.Tema transparenteA biblioteca nativa não é compatível com este aparelho.Inicializando biblioteca nativa…
@@ -718,8 +719,8 @@
PMAMLocal de estacionamento
- Este complemento grava onde o seu carro foi estacionado e quanto tempo de estacionamento resta (se houver um limite de tempo).
-\nA localização e o tempo ficam visíveis no painel de controlo do OsmAnd e em um widget no ecrã do mapa. Pode ser adicionado um alarme ao calendário Android como lembrete.
+ Permite gravar onde o seu carro foi estacionado e quanto tempo de estacionamento resta (se houver um limite de tempo).
+\nA localização e o tempo ficam visíveis no painel de controlo do OsmAnd e num widget no ecrã do mapa. Um alarme pode ser adicionado ao calendário Android como lembrete.Local de estacionamentoMarcar como local de estacionamentoEliminar um marcador de estacionamento
@@ -816,7 +817,7 @@
Selecione um esquema de cores de estrada:Esquema de coresVer direção para o destino
- Ativar complemento de \"gravação de viagem\" para usar serviços de registo de posição (registo GPX, rastreamento on-line)
+ Ativar suplemento de \"gravação de viagem\" para usar serviços de registo de posição (registo GPX, rastreamento on-line)Calcular rota possivelmente não-ideal em longas distânciasAtive o GPS nas configuraçõesServiços de registo
@@ -856,7 +857,7 @@
O serviço de segundo plano OsmAnd ainda está em execução. Tambẽm pará-lo\?Fechar conjunto de alterações"Pesquisa mais povoações / código postal"
- O complemento Dropbox permite sincronizar trilhos e anotações de vídeo/audio com a sua conta Dropbox.
+ O suplemento Dropbox permite sincronizar trilhos e anotações de vídeo/audio com a sua conta Dropbox.Gravar vídeoGravar audioSelecione a ação de widget padrão.
@@ -890,10 +891,10 @@
Calcule rotas precisas sem falhas. Ainda com distância limitada e lenta.Roteamento preciso (alfa)Tire uma foto
- Complemento Dropbox
+ Extensão DropboxAlterar ordem
- Por favor, considere comprar o complemento \'Curvas de Nível\' (Contour Lines) para apoiar o desenvolvimento.
- Complemento curvas de nível
+ Por favor, considere comprar o suplemento \'Curvas de Nível\' (Contour Lines) para apoiar o desenvolvimento.
+ Extensão curvas de nívelSelecionar na alturaSelecione o formato de saída de vídeo.Usar gravador do sistema para vídeo.
@@ -906,21 +907,21 @@
PararIniciarAnotações de Áudio/vídeo
- Complemento OsmAnd para curvas de nível off-line
+ Extensão OsmAnd para curvas de nível off-lineMedição da distânciaLocal para associar com a anotação ainda não está definido. \"Usar posição…\" para atribuir uma anotação para o local especificado.Anotações de áudio
- O complemento de anotações de áudio/vídeo fornece a funcionalidade para tomar notas de áudio/fotografia/vídeo durante uma viagem, usando um botão no ecrã do mapa ou diretamente do menu de contexto para qualquer posição no mapa.
- Anotações de audio/vídeo
+ O suplemento de anotações de áudio/vídeo fornece a funcionalidade para tomar notas de áudio/fotografia/vídeo durante uma viagem, usando um botão no ecrã do mapa ou diretamente do menu de contexto para qualquer posição no mapa.
+ Anotações de áudio/vídeoPartesCurvas de nívelFoto %1$s de %2$sCapture uma foto
- Este complemento disponibiliza \'Curvas de Nível\' e \'Sombras de relevo\', que podem ser aplicadas nos mapas standard do OsmAnd.
+ Este suplemento disponibiliza \'Curvas de Nível\' e \'Sombras de relevo\', que podem ser aplicadas nos mapas standard do OsmAnd.
\nEstas funcionalidades podem ser apreciadas por atletas, caminhantes, e qualquer pessoa interessada na informação de relevo de uma paisagem.
\n
\nOs dados globais (entre as latitudes 70° norte e 70° sul) são baseados nas medições do SRTM (Shuttle Radar Topography Mission) e do ASTER (Advanced Spaceborn Thermal Emission and Reflection Radiometer), um instrumento de imagens no \'Terra\', o satélite principal do Sistema de Observação da Terra da NASA. O ASTER é um esforço conjunto da NASA, do Ministério da Economia, Comércio e Indústria do Japão e do Sistema Espacial Japonês (J-spacesystems).
- Este complemento disponibiliza \'Curvas de Nível\' e \'Sombras de relevo\', que podem ser aplicadas nos mapas padrão do OsmAnd.
+ Este suplemento disponibiliza \'Curvas de Nível\' e \'Sombras de relevo\', que podem ser aplicadas nos mapas padrão do OsmAnd.
\nEstas funcionalidades podem ser apreciadas por atletas, caminhantes, e qualquer pessoa interessada na informação de relevo de uma paisagem.
\n
\nOs dados globais (entre as latitudes 70° norte e 70° sul) são baseados nas medições do SRTM (Shuttle Radar Topography Mission) e do ASTER (Advanced Spaceborn Thermal Emission and Reflection Radiometer), um instrumento de imagens no \'Terra\', o satélite principal do Sistema de Observação da Terra da NASA. O ASTER é um esforço conjunto da NASA, do Ministério da Economia, Comércio e Indústria do Japão e do Sistema Espacial Japonês (J-spacesystems).
@@ -1265,9 +1266,9 @@
O registo da posição geral para um ficheiro GPX pode ser ativado ou desativado usando o widget de gravação GPX no ecrã do mapa.Intervalo de logRotas de autocarros e tróleibus
- Este complemento ativa a funcionalidade para gravar e guardar os seus trajetos manualmente, tocando no widget de gravação GPX no ecrã do mapa, ou fazendo também automaticamente o registo de todas as suas rotas de navegação para um ficheiro GPX.
-\n
-\n
+ Este suplemento ativa a funcionalidade para gravar e guardar os seus trajetos manualmente, tocando no widget de gravação GPX no ecrã do mapa, ou fazendo também automaticamente o registo de todas as suas rotas de navegação para um ficheiro GPX.
+\n
+\n
\nOs trajetos gravados podem ser partilhados com os seus amigos, ou serem usados para contribuições no OpenStreetMap. Os atletas podem usar trajetos gravados para controlar os seus treinos. Podem ser feitas algumas análises básicas do trajeto diretamente no OsmAnd, como tempos de volta, velocidade média, etc. E claro, os trajetos também podem ser analisados mais tarde em ferramentas externas.Gravação de viagemh
@@ -1320,7 +1321,7 @@
RotasDetalhesElementos restantes
- Tem de estar conectado à Internet para instalar este complemento.
+ Tem de estar conectado à Internet para instalar este suplemento.Para refletir corretamente seus sinais e regras de trânsito, por favor, selecione a região onde conduz:Números de portaMover os ficheiros de dados OsmAnd para o novo destino\?
@@ -1417,9 +1418,9 @@
Ver mapa de esquiRenomeação falhou.Voltar ao mapa
- Partilhar nota
+ Partilhar anotaçãoPosição:\n Lat %1$s\n Lon %2$s
- Anotações
+ Anotações de A/VMapa on-lineApenas viasPistas de esqui
@@ -1478,16 +1479,16 @@
Por favor especifique o tipo de POI correto ou ignore-o.O botão do menu lança o painel de controlo em vez do menuAceder a partir do mapa
- \'Desligado\' lança diretamente para a vista do mapa.
+ \'Desligado\' lança o mapa diretamente.Mostrar no arranqueCopiado para a Área de TransferênciasGuardar off-linePonto de Interesse OSM modificadoEscolha as estradas que quer evitar durante a navegação.Som
- A aplicação não tem permissão para aceder à localização.
- A aplicação não tem permissão para aceder à câmara.
- A aplicação não tem permissão para aceder ao microfone.
+ Conceder acesso aos dados de localização.
+ Conceder acesso à câmara.
+ Conceder acesso ao microfone.Distância:Tempo:Rotas de Cavalos
@@ -1513,9 +1514,9 @@
Re-abrir anotaçãoFechar anotaçãoAnotação adicionada com sucesso
- Erro: anotação não foi adicionada
- Anotação encerrada com sucesso
- Erro: anotação não foi encerrada
+ Não foi possível criar a anotação.
+ Anotação fechada com sucesso
+ Não foi possível fechar a anotação.EnviarEliminar ponto GPX\?Editar ponto GPX
@@ -1544,7 +1545,7 @@
A procurar o endereçoFicheiro GPX com posições.Localizações
- Complementos
+ ExtensõesEvitar transporte de comboioEvitar usar transporte de comboioPerigo
@@ -1614,7 +1615,7 @@
Cor pela afiliação da redeCor pelo símbolo de caminhada de OSMCSair
- Vai eliminar %1$d notas. Continuar\?
+ Tem a certeza que quer apagar %1$d anotações\?Esta opção muda o estilo de mapa do Osmand para a \"visão Touring \', uma visão especial de alto detalhe, para viajantes e motoristas profissionais.
\n
\nEsta visualização fornece, em qualquer zoom de mapa, a quantidade máxima de informação de viagem disponível no mapa (particularmente estradas, trilhas, caminhos, e marcas de orientação).
@@ -1633,10 +1634,10 @@
Painel direitoPainel esquerdoDentro
- Um utilizador anónimo não pode:
+ Utilizadores anónimos não podem:
\n- Criar grupos;
-\n- Sincronizar grupos e dispositivos com o servidor;
-\n- Gerir grupos e aparelhos num painel de controlo pessoal no sitio web.
+\n- Sincronizar grupos e aparelhos com o servidor;
+\n- Gerir grupos e aparelhos num painel de controlo pessoal no site web.Utilizador anónimoLigado como %1$sNão selecionado
@@ -1678,20 +1679,20 @@
Mover ↓Terminar a navegaçãoEvitar estrada
- Mudado para memória interna porque o diretório para o armazenamento de dados selecionado é só de leitura. Por favor, escolha um diretório de armazenamento gravável.
+ Mudado para memória interna porque o diretório para o armazenamento de dados selecionado está protegida contra gravação. Por favor, escolha um diretório de armazenamento gravável.Memória partilhadaBarra superiorRelatório completoRecalcular rota
- Nome de utilizador e palavra-passe no OpenStreetMap
+ Nome de utilizador e palavra-passe no OSMDonativosNúmero de destinatáriosEdições %1$s, posição %2$s, total de edições %3$s
- Graduação dos Editores OSM
+ Graduação de Editores do OSMAssinatura do OsmAnd LiveSubscrever
- Necessário para lhe fornecer informações sobre contribuições.
- Nome Público
+ Necessário para lo informar sobre as suas contribuições.
+ Nome públicoNão mostrar o meu nome nos relatóriosRegião de suporteNome do ficheiro contém um carácter inválido
@@ -1729,7 +1730,7 @@
Lista ramificadaMostra a quantidade de descarregamentos gratuitos restantes.Anúncio automático inteligente
- Custo mensal
+ Custo por mêsPagamento mensalAtivoInativo
@@ -1738,14 +1739,19 @@
Obrigado por apoiar OsmAnd!
\nPara ativar todos os novos recursos tem que reiniciar o OsmAnd.Parte da sua doação será enviada aos utilizadores OSM que submetem alterações ao mapa nessa região.
- Configurações da subscrição
+ Configurações da assinaturaPor favor primeiro compre a assinatura do OSM Live
- Esta assinatura permite atualizações hora a hora de todos os mapas à volta do mundo. Parte da renda regressa à comunidade do OpenStreetMap e paga-se para cada contribuição no OpenStreetMap. Se gosta do OsmAnd e do OpenStreetMap e quer apoiar e ser apoiado por eles, esta é a maneira perfeita para o fazer.
+ Esta assinatura permite atualizações hora a hora de todos os mapas à volta do mundo.
+\nParte da renda regressa à comunidade do OpenStreetMap e paga-se para cada contribuição no OpenStreetMap.
+\nSe gosta do OsmAnd e do OpenStreetMap e quer apoiar e ser apoiado por eles, esta é a maneira perfeita para o fazer.Selecione o marcador do mapaOutros marcadoresEnviar anonimamente
- Não há espaço suficiente! O espaço de armazenamento necessário é {3} MB temporariamente, {1} MB permanentemente. O espaço disponível é apenas {2} MB.
- Descarregar mesmo {0} ficheiro(s)\? Isso precisa de {3} MB temporariamente e {1} MB permanentemente. ({2} MB disponíveis.)
+ Não há espaço suficiente!
+\n {3} MB é necessário temporariamente, {1} MB permanentemente.
+\n (Apenas {2} MB disponível.)
+ Descarregar {0} ficheiro(s)\?
+\n {3} MB é usado temporariamente, {1}. MB permanentemente. (De {2} MB.)Envie a sua anotação OSM anonimamente ou utilizando o seu perfil do OpenStreetMap.org.Enviar a anotação OSMPrimeiro marcador de mapa
@@ -1762,7 +1768,7 @@
Marcadores de mapaMarcador de mapaÉ recomendável desativar a renderização de polígono.
- Mostrar rotas MTB
+ Mostrar trilhas de mountain bikeMostrar polígonosEncontrar estacionamentoSituação
@@ -1815,7 +1821,7 @@
Selecione outra regiãoAlterarCartão de memória
- Não tem o mapa offline instalado. Pode escolher um mapa na lista ou descarregar mapas mais tarde através do \'menu - %1$s\'.
+ Não tem o mapa off-line instalado. Pode escolher um mapa na lista ou descarregar mapas mais tarde através do \'menu - %1$s\'.MarcadoresFormato de coordenadasUsar teclado do sistema
@@ -1845,7 +1851,7 @@
Ordenar por:Selecionar como indicar a distância e a direção para os marcadores no mapa:Limiar de orientação do mapa
- Selecione a velocidade de mudança de orientação do \'Direção de movimento\' a \'Direção de bússola\' abaixo.
+ Selecione a velocidade de mudança de orientação de \'Direção de movimento\' a \'Direção de bússola\' abaixo.Todos os marcadores do mapa movidos para históricoMarcador do mapa movido para históricoMarcador do mapa movido para ativo
@@ -1908,7 +1914,7 @@
Abrir MapillaryInstalarMelhorar cobertura fotográfica com Mapillary
- Instale o Mapillary para adicionar uma ou mais fotos a este local do mapa.
+ Instale o Mapillary para adicionar fotos a este local do mapa.Fotos on-lineAdicionar fotosNão há fotos aqui.
@@ -1926,14 +1932,14 @@
Mostrar ou ocultar anotações do OSMMostrar anotações OSMOcultar anotações do OSM
- Botão para mostrar ou ocultar notas OSM no mapa.
+ Botão para mostrar ou ocultar anotações OSM no mapa.Ordenar por distânciaPesquisar em FavoritosDescarregar o mapa \'Hillshade Overlay\' para mostrar as sombras verticais.Instale o plugin \'Curvas de nível\' para mostrar áreas verticais graduadas.Ocultar a partir do nível de zoomDescarregue o mapa de \'Curvas de nível\' para usar nesta região.
- Complemento
+ ExtensãoCompre e instale o plugin \'Curvas de nível\' para mostrar as áreas verticais graduadas.Esquema de coresMostrar a partir do nível de ampliação
@@ -2055,7 +2061,7 @@
Adicionar mais…AparênciaAtivar gravação rápida
- Mostrar uma notificação de sistema que permite a gravação da viagem.
+ Mostrar uma notificação de sistema que permite iniciar a gravação da viagem.NotificaçõesContinuarPausa
@@ -2092,14 +2098,14 @@
Eliminar filtroNovo filtroPor favor introduza o nome do novo filtro, este vai ser adicionado ao seu separador \'Categorias\'.
- A assinatura é cobrada mensalmente. Cancele a assinatura no Google Play a qualquer altura.
+ A assinatura é cobrada período selecionado. Cancele a assinatura no Google Play a qualquer altura.Doação para a comunidade OSMParte da sua doação é enviada aos colaboradores do OSM. O custo da assinatura permanece o mesmo.Subscrição permite atualizações a cada hora, diárias, semanais, e descarregamentos ilimitados de todos os mapas globalmente.Comprá-loComprar por %1$sObter descarregamentos ilimitados de mapas, adicionando atualizações semanais, diárias e a cada hora.
- Descarregamentos ilimitados de mapas, atualizações e complemento Wikipédia.
+ Descarregamentos ilimitados de mapas, atualizações e suplemento Wikipédia.Milhas/metrosÀ procura de mapas…Deixe OsmAnd determinar a sua localização e sugerir mapas para descarregar para essa região.
@@ -2144,7 +2150,7 @@
Adicionou %1$s pontos. Introduza um nome do ficheiro e toque em \"Guardar\".Por favor envie uma captura de ecrã desta notificação para support@osmand.netEditar ações
- Adquira OsmAnd Live para desbloquear todos as funcionalidades: atualizações de mapas diários com descarregamentos ilimitados, todos os complementos pagos e gratuitos, Wikipédia, Wikivoyage e muito mais.
+ Adquira OsmAnd Live para desbloquear todos as funcionalidades: atualizações de mapas diários com descarregamentos ilimitados, todos os suplementos pagos e gratuitos, Wikipédia, Wikivoyage e muito mais.Alteração do estilo padrão para aumentar o contraste de caminhos pedestres e ciclovias. Usa cores clássicas do Mapnik.MarcadorEsconder descrição completa
@@ -2225,7 +2231,7 @@
Equipa do OsmAndDestinos popularesAplicação paga
- Complemento pago
+ Extensão pagaHá novos dados disponíveis da Wikivoyage, atualize-os para os poder usar.Descarregue guias de viagem da Wikivoyage para ver artigos sobre lugares ao redor do mundo sem uma conexão com a Internet.Atualização disponível
@@ -2308,16 +2314,16 @@
Adiciona paragem intermédiaAdiciona paragem inicialMover o destino para cima e criá-lo
- Mostrar notas fechadas
- Mostrar/esconder notas do OSM no mapa.
+ Mostrar anotações fechadas
+ Mostrar/esconder anotações do OSM no mapa.GPX - adequado para exportar para o JOSM ou outros editores do OSM.OSC - adequado para exportar para o OSM.Ficheiro GPXFicheiro OSCSelecione o tipo de ficheiro
- Selecione a categoria de exportação: notas do OSM, POIs, ou ambos.
+ Selecione a categoria de exportação: anotações do OSM, POIs ou ambos.Todos os dados
- Notas do OSM
+ Anotações do OSMAbre amanhã àsEtiquetas de POISem nome
@@ -2334,8 +2340,8 @@
Abre emAbre emAções adicionais
- Ficheiro GPX com coordenadas e dados das notas selecionadas.
- Ficheiro GPX com coordenadas e dados de todas as notas.
+ Ficheiro GPX com coordenadas e dados das anotações selecionadas.
+ Ficheiro GPX com coordenadas e dados de todas as anotações.• Novo: suporte para guias de viagem offline globais. Locais referenciados estão lincados ao mapa. Dados iniciais do Wikivoyage.
\n
\n• Wikipédia: novo visual, links ativos, imagens agora suportados
@@ -2351,7 +2357,7 @@
AçõesMarcadorCriar ou modificar objetos OSM
- Criar ou modificar POIs do OSM, abrir ou comentar notas do OSM e contribuir com ficheiros gravados de GPX.
+ Criar ou modificar POIs do OSM, abrir ou comentar anotações do OSM e contribuir com ficheiros de GPX gravados.EliminadoEditadoAdicionado
@@ -2359,8 +2365,8 @@
Toque num marcador no mapa para movê-lo para a parte superior dos marcadores ativos sem abrir o menu de contexto.\'Um toque\' ativoFaça anotações!
- Adicione nota de áudio, vídeo ou foto em qualquer ponto do mapa, usando o widget ou o menu de contexto.
- Notas do OSM por data
+ Adicione anotações de áudio, vídeo ou foto em qualquer ponto do mapa, usando o widget ou o menu de contexto.
+ Anotações de A/V por dataPor dataPor tipoProcurando trilhas com pontos de rota
@@ -2382,7 +2388,7 @@
Mostrar linha direcional desde a sua posição até os locais dos marcadores ativos.Mostrar uma ou duas setas indicando a direção para os marcadores ativos.Escolher como mostrar a distância para os marcadores ativos.
- Escolha a quantidade de indicadores de direção:
+ Especifique a quantidade de indicadores de orientação.Número de casas decimaisDireitaEsqueda
@@ -2409,7 +2415,7 @@
Ida e voltaTem de adicionar pelo menos um marcador para usar esta função.Não foi possível modificar a anotação.
- Modificar nota
+ Modificar anotaçãoModificar anotação do OSMAdicionar cópia do ponto de partida como destino.Fazer viagem de ida e volta
@@ -2468,12 +2474,12 @@
BerberesImpedir o registo autónomoFicheiros GPX
- Este complemento enriquece o mapa do OsmAnd para também produzir mapas náuticos para passeios de barco, vela e outros tipos de desportos aquáticos.
-\n
-\nUm complemento de mapa especial para OsmAnd fornecerá todas as marcas de navegação náutica e símbolos cartográficos, para o interior assim como para navegação próxima à costa. A descrição de cada marca de navegação fornece os detalhes necessários para identificá-las e o seu significado (categoria, forma, cor, sequência, referência, etc.).
-\n
-\nPara retornar a um estilo convencional de mapa do OsmAnd, simplesmente desative este complemento ou altere o \'Estilo de mapa\' em \'Configurar mapa\' quando desejado.
- Este complemento para o OsmAnd coloca ao seu alcance detalhes de pistas de descida de esqui, de travessia, rotas de esqui alpino, teleféricos e elevadores de esqui. Rotas e pistas são mostradas com codificação de cores por dificuldade e retratadas em um estilo especial de mapa \'Inverno\' que assimila uma paisagem de inverno cor de neve.
+ Este suplemento enriquece o mapa do OsmAnd para também produzir mapas náuticos para passeios de barco, vela e outros tipos de desportos aquáticos.
+\n
+\nUm suplemento de mapa especial para OsmAnd fornecerá todas as marcas de navegação náutica e símbolos cartográficos, para o interior assim como para navegação próxima à costa. A descrição de cada marca de navegação fornece os detalhes necessários para identificá-las e o seu significado (categoria, forma, cor, sequência, referência, etc.).
+\n
+\nPara retornar a um estilo convencional de mapa do OsmAnd, simplesmente desative este suplemento ou altere o \'Estilo de mapa\' em \'Configurar mapa\' quando desejado.
+ Este suplemento para o OsmAnd coloca ao seu alcance detalhes de pistas de descida de esqui, de travessia, rotas de esqui alpino, teleféricos e elevadores de esqui. Rotas e pistas são mostradas com codificação de cores por dificuldade e retratadas em um estilo especial de mapa \'Inverno\' que assimila uma paisagem de inverno cor de neve.
\n
\nAtivando esta mudança na visão do estilo de mapa de \'Inverno e esqui\', mostrando todas as características da paisagem em condições invernais. Essa visão pode ser revertida desativando aqui ou alterando o \'Estilo de mapa\' em \'Configurar mapa\' quando desejado.OLC inválido
@@ -2564,7 +2570,7 @@
Hora intermediáriaOsmAnd (sigla em inglês de direções de navegação automatizada do OSM) é uma aplicação de mapas e navegação com acesso a dados livres, mundiais e de alta qualidade do OpenStreetMap (OSM).
\n
-\nPoderá usar o navegador visual e por voz, ver POIs (pontos de interesse), criar e gerir trilhos GPX, usar (através de um complemento) curvas de nível e dados de altitude, escolher entre os modos motorista, ciclista e pedestre, editar o OpenStreetMap e muito mais.
+\nPoderá usar o navegador visual e por voz, ver POIs (pontos de interesse), criar e gerir trilhos GPX, usar (através de um suplemento) curvas de nível e dados de altitude, escolher entre os modos motorista, ciclista e pedestre, editar o OpenStreetMap e muito mais.Navegação GPS
\n• Escolha entre modos off-line (sem tarifa de roaming quando estiver no exterior) ou on-line (mais rápido)
\n• Orientação por voz passo-a-passo lhe guia ao longo do caminho (vozes gravadas e sintetizadas)
@@ -2586,14 +2592,14 @@
\n• Permite-lhe escolher como mostrar nomes no mapa: em inglês, local ou escrita fonética
\n• Mostra mapas on-line especializados, vista de satélite (do Bing), sobreposições diferentes como trajetos GPX de navegação/turismo e camadas adicionais com transparência personalizável
\n
- Esqui
-\n O complemento de mapas de esqui OsmAnd Ski permite que veja pistas de esqui com nível de complexidade e algumas informações adicionais, como localização de elevadores e outras instalações invernais.
+ Esqui
+\n O suplemento de mapas de esqui OsmAnd Ski permite que veja pistas de esqui com nível de complexidade e algumas informações adicionais, como localização de elevadores e outras instalações invernais.Ciclismo
-\n • Encontre trilhos para bicicletas no mapa.
-\n • Navegação por GPS no modo ciclismo cria a sua rota utilizando trilhos para bicicletas.
-\n • Veja a sua velocidade e altitude.
-\n • Opção de gravação GPX permite-lhe gravar a sua viagem e partilhá-la.
-\n • Através de complementos adicionais, pode ativar curvas de nível e sombreamento de relevo.
+\n • Encontre trilhos para bicicletas no mapa.
+\n • Navegação por GPS no modo ciclismo cria a sua rota utilizando trilhos para bicicletas.
+\n • Veja a sua velocidade e altitude.
+\n • Opção de gravação GPX permite-lhe gravar a sua viagem e partilhá-la.
+\n • Através de suplementos adicionais, pode ativar curvas de nível e sombreamento de relevo.Passeio, caminhada, turismo pela cidade
\n• O mapa mostra caminhos para passeios e caminhadas
\n• A Wikipédia no seu idioma preferido pode dizer muito durante um percurso pela cidade
@@ -2660,7 +2666,7 @@
\n• Paragens de transporte público opcionais (autocarro, elétrico, comboio) incluindo nomes de linhas
\n• Gravação opcional de viagem para ficheiro GPX local ou serviço on-line
\n• Visualização opcional de velocidade e altitudes
-\n• Visualização de curvas de nível e sombreamento de relevo (via complemento adicional)
+\n• Visualização de curvas de nível e sombreamento de relevo (via suplemento adicional)Contribua diretamente para o OpenStreetMap
\n • Envie relatórios de erros.
\n • Envie trilhos GPX para o OpenStretMap diretamente da aplicação.
@@ -2740,8 +2746,8 @@
Tem a certeza\?Quaisquer alterações por guardar serão perdidas. Continuar\?Mostra o banner da versão gratuita mesmo na versão paga.
- Favor ativar o complemento \'Mapa náutico\'
- Favor ativar o complemento \'Curvas de nível\'
+ Favor ativar o suplemento \'Mapa náutico\'
+ Favor ativar o suplemento \'Curvas de nível\'%1$.1f de %2$.1f MB%.1f MBAtualizar tudo (%1$s MB)
@@ -3171,7 +3177,7 @@
Despertar na curvaAjuste por quanto tempo o ecrã deve ficar ligado.Utilizar sensor de proximidade
- Acene com a mão sobre a parte superior do ecrã para a ligá-lo durante a navegação.
+ Acenando com a mão sobre o ecrã ligará-lo.Grau 1Grau 2Grau 3
@@ -3241,7 +3247,7 @@
AnálisesMostrar mapa no ecrã de bloqueio durante a navegação.Configurações de roteamento no perfil selecionado \"%1$s\".
- Tempo de despertar
+ Tempo limite após despertarUnidades e formatosAspetoAparência do mapa
@@ -3263,7 +3269,7 @@
Mapa durante a navegaçãoMapa durante a navegaçãoOutros
- Peso, altura, velocidade
+ Peso, altura, comprimento, velocidadeParâmetros do veículoAnúncios de voz só acontecem durante a navegação.Instruções e anúncios de navegação
@@ -3335,20 +3341,20 @@
Preferir estradas não pavimentadas.Atualizar todos os mapasTem certeza de que deseja atualizar todos os mapas (%1$d)\?
- - Configurações atualizadas do aplicativo e do perfil: as definições estão agora organizadas por tipo. Cada perfil pode ser personalizado separadamente.
-\n
-\n - Novo diálogo para descarregar mapas sugerindo um mapa para descarregar enquanto navega
-\n
-\n - Correções de temas escuros
-\n
-\n - Vários problemas de roteamento resolvidos ao redor do mundo
-\n
-\n - Basemap atualizado com uma rede rodoviária mais detalhada
-\n
-\n - Áreas fixas inundadas em todo o mundo
-\n
-\n - Roteamento do esqui: perfil de elevação e complexidade da rota adicionado aos detalhes da rota
-\n
+ - Configurações atualizadas da app e do perfil: as definições estão agora organizadas por tipo. Cada perfil pode ser personalizado separadamente.
+\n
+\n - Novo diálogo para descarregar mapas sugerindo um mapa para descarregar enquanto navega
+\n
+\n - Correções de temas escuros
+\n
+\n - Vários problemas de roteamento resolvidos ao redor do mundo
+\n
+\n - Basemap atualizado com uma rede rodoviária mais detalhada
+\n
+\n - Áreas fixas inundadas em todo o mundo
+\n
+\n - Roteamento do esqui: perfil de elevação e complexidade da rota adicionada aos detalhes da rota
+\n
\n - Outras correções de erros
\n
\n
@@ -3417,7 +3423,7 @@
Ícone, cor e nomeEditar lista de perfisPerfil selecionado
- Tocar em %1$s descartará todas as suas alterações.
+ Tocar em %1$s descarta todas as suas alterações.Redefinir todas as configurações de perfil para as predefinicões de instalação.Redefinir todas as configurações de perfil\?%1$s %2$s
@@ -3427,7 +3433,7 @@
AvaliarTerrenoMapa de sombras de relevo usando sombras escuras para mostrar pistas, picos e planícies.
- Pistas são visualizações coloridas no terreno.
+ Pistas usam cores para visualizar a inclinação do terreno.Defina os níveis de zoom mínimos e máximos em que a camada será exibida.Mapas adicionais são necessários para ver sombras de relevo no mapa.Mapas adicionais são necessários para ver Pistas no mapa.
@@ -3435,11 +3441,11 @@
TransparênciaNíveis de ampliaçãoLegenda
- Ativar ver o mapa de colinas ou encostas. Pode ler mais sobre este tipo de mapa no nosso site
+ Ativar ver o mapa de colinas ou encostas. Pode ler mais sobre essas categorias de mapa no nosso site.Sombras de relevo%1$s de %2$sPistas
- Mostrar/ocultar terreno
+ Mostrar / ocultar terrenoOcultar terrenoMostrar terrenoUm botão para mostrar ou esconder a camada do terreno no mapa.
@@ -3454,12 +3460,12 @@
Recalcular rota em caso de desvioSelecione a distância após a qual o percurso será recalculado.A rota será recalculada se a distância da rota até o local atual for maior que o valor selecionado.
- Todos os dados do %1$s são importados. Pode usar os botões abaixo para abrir a parte necessária da aplicação para gerá-lo.
+ Todos os dados de %1$s são importados. Pode usar os botões abaixo para abrir a parte necessária da app para gerá-lo.Importação concluídaItens adicionados
- OsmAnd verifica %1$s para duplicatas com itens existentes na aplicação.
+ OsmAnd verifica %1$s para duplicatas com itens existentes na app.
\n
-\nPode levar algum tempo.
+\nPode demorar algum tempo.ImportandoImportando dados de %1$sTem certeza de que deseja limpar os dados gravados\?
@@ -3491,19 +3497,19 @@
Perfil personalizadoA rota será recalculada se a distância até à rota for maior que o parâmetro especificadoDistância mínima para recalcular a rota
- Desativar recálculo
+ Sem recálculoApp predefinido (%s)AntártidaPode selecionar dados adicionais para exportar junto com o perfil.
- O perfil importado contém dados adicionais. Clique em Importar para importar apenas dados do perfil ou selecione dados adicionais a serem importados.
+ O perfil importado contém dados adicionais. Clique em \"Importar\" para importar apenas dados do perfil ou selecione dados adicionais.Incluir dados adicionaisRoteamento%1$s — %2$s — %3$sMenu
- Este plugin é uma aplicação separada, precisará removê-lo separadamente se não planeja usá-lo mais.
+ Este suplemento é uma app separada, precisará removê-lo separadamente se não planeja usá-lo mais.
\n
-\nO plug-in permanecerá no aparelho após a remoção do OsmAnd.
- Plugin desativado
+\nO suplemento permanecerá no aparelho após a remoção do OsmAnd.
+ Extensão desativadaAbrir configuraçõesForneça um nome para o perfilClassificar por categoria
@@ -3535,21 +3541,21 @@
\n
\nLimpar dados gravados
- Desativado por predefinição, se OsmAnd estiver sendo executado em primeiro plano, o ecrã não atingirá o tempo limite.
+ Desativado por predefinição: enquanto OsmAnd estiver a ser executado em primeiro plano, o ecrã não atingirá o tempo limite.
\n
-\nSe ativado, o OsmAnd usará as configurações de tempo limite do sistema.
- Usar tempo limite do ecrã do sistema
- Modo de acessibilidade desativado no seu sistema.
+\nSe ativado, o OsmAnd usará a configuração de tempo limite do sistema.
+ Usar o tempo limite do ecrã do sistema
+ O modo de acessibilidade está desativado no seu sistema de Android.Nascer do sol em %1$sPôr do sol em %1$s%1$s/%2$s
- Todas as configurações de perfil restauradas para o estado predefinido.
- Todas as configurações de plug-in restauradas para o estado predefinido.
+ Todas as configurações de perfil são restauradas à predefinição.
+ Todas as configurações do suplemento restauradas à predefinição.Adicionar categoria personalizadaDisponível
- Redefinir como predifinição redefinirá a ordem de classificação para o estado predefinido após a instalação.
- Pode adicionar uma nova categoria personalizada selecionando uma ou algumas categorias necessárias.
- Altere a ordem de classificação da lista, oculte categorias desnecessárias. Pode importar ou exportar todas as alterações com perfis.
+ \'Redefinir à predefinição\' redefinirá a ordem de ordenação para a predefinição da instalação.
+ Pode adicionar uma nova categoria personalizada selecionando uma ou mais categorias.
+ Altere a ordem de ordenação da lista, oculte categorias. Pode importar ou exportar todas as alterações com perfis.Reorganizar categoriasAutorização bem sucedidaSom do obturador da câmera
@@ -3570,14 +3576,14 @@
Observação: se o GPS estava desligado imediatamente antes de uma gravação, o primeiro ponto medido pode ter uma precisão diminuída; portanto, no nosso código, podemos esperar um segundo antes da gravação de um ponto (ou gravar o melhor de três pontos consecutivos, etc.), mas isso ainda não foi implementado.Recomendação: É difícil prever o que será gravado e o que não será, talvez seja melhor desativar esse filtro.Efeito colateral: como resultado da filtragem por precisão, os pontos podem estar totalmente ausentes por ex. debaixo de pontes, sob árvores, entre prédios altos ou com certas condições climáticas.
- Isso registrará apenas os pontos medidos com uma indicação de precisão mínima (em metros/pés, conforme relatado pelo Android para o seu chipset). A precisão refere-se à dispersão de medidas repetidas e não está diretamente relacionada à precisão, que define que perto suas medidas estão da sua posição real.
+ Isto irá registar apenas pontos medidos com uma indicação de precisão mínima (em metros/pés, conforme reportado pelo Android para o seu chipset). A precisão é a proximidade das medições à posição verdadeira e não está diretamente relacionada com a precisão, que é a dispersão de medições repetidas.Observação: verificação de velocidade > 0: A maioria dos chipsets GPS relata uma velocidade apenas se o algoritmo determinar que esteja em movimento e nenhum se não estiver. Portanto, o uso da configuração > 0 neste filtro usa a deteção de movimento do chipset GPS. Mas mesmo que não seja filtrado no momento da gravação, ainda usamos esse recurso na nossa análise GPX para determinar a Distância corrigida, ou seja, o valor exibido nesse campo é a distância registrada enquanto estiver em movimento.Recomendação: Tente usar a deteção de movimento através do filtro de deslocamento mínimo de registro (B) primeiro, pode produzir melhores resultados e você perderá menos dados. Se suas faixas permanecerem barulhentas em baixas velocidades, tente valores diferentes de zero. Observe que algumas medições podem não relatar nenhuma velocidade (alguns métodos baseados em rede); nesse caso, não gravaria nada.Efeito colateral: sua faixa estará ausente de todas as seções em que o critério de velocidade mínima não foi atendido (por exemplo, onde empurra sua bicicleta por uma colina íngreme). Além disso, não haverá informações sobre períodos de descanso, como intervalos. Isso afeta qualquer análise ou pós-processamento, como ao tentar determinar a duração total da sua viagem, o tempo em movimento ou a sua velocidade média.Este é um filtro de corte de baixa velocidade para não registar pontos abaixo de uma determinada velocidade. Isso pode fazer com que as faixas gravadas pareçam mais suaves quando visualizadas no mapa.É necessária permissão para usar esta opção.Não foi possível analisar a intenção geográfica \'%s\'.
- Verifique e compartilhe logs detalhados da aplicação
+ Verifique e compartilhe registos detalhados da appÍcone mostrado em repouso.Ícone mostrado ao navegar ou mover.Pode ver todos os erros de OSM do editor carregado em %1$s. Os pontos enviados não são exibidos no OsmAnd.
@@ -3586,8 +3592,8 @@
Utilizador e palavra-passeAnunciarRecálculo da rota
- Notas fotográficas
- Notas de vídeo
+ Anotações fotográficas
+ Anotações de vídeoPode encontrar todas as suas anotações em %1$s.Pode encontrar todas as suas faixas gravadas em %1$ss ou na pasta OsmAnd usando o gerador de ficheiros.Precisão de registo
@@ -3603,17 +3609,17 @@
Selecione um ficheiro de extensão %1$s suportado.Nenhuma regra de roteamento em \'%1$s\'. Por favor, escolha outro ficheiro.Octógono
- Substitua outro ponto por este
+ Substitua outro ponto por este.Passeios de esquiMoto de nevePlug-in OsmAnd personalizado
- Alterações aplicadas ao perfil %1$s.
- Não foi possível ler %1$s.
- Não foi possível escrever %1$s.
- Não foi possível importar %1$s.
- Personalize a quantidade de itens na Gaveta, Configurar mapa e menu de contexto.
-\n
-\nPode desativar plugins não utilizados para ocultar todos os seus controles da aplicação %1$s.
+ Alterações aplicadas ao perfil \'%1$s\'.
+ Não foi possível ler de \'%1$s\'.
+ Não foi possível escrever para \'%1$s\'.
+ Não foi possível importar de \'%1$s\'.
+ Personalize a quantidade de itens em \"Gaveta\", \"Configurar Mapa\" e \"Menu de Contexto\".
+\n
+\nDesligue os suplementos não utilizados para esconder todos os seus controles. %1$s.Itens da gaveta, menu de contextoPersonalização da interface do utilizadorGaveta
@@ -3622,9 +3628,9 @@
DivisorElementos abaixo deste ponto separados por um divisor.Ocultado
- Esses itens estão ocultos no menu, mas as opções ou plug-ins representados continuarão funcionando.
- As configurações serão redefinidas para o estado original após ocultar.
- As ações principais contêm apenas 4 botões.
+ Esses itens estão ocultos no menu, mas as opções ou suplementos representados continuarão a funcionar.
+ Ocultar configurações redefine-os ao seu estado original.
+ Apenas tem 4 botões.Principais açõesPode mover itens somente dentro desta categoria.Plugin do programador
@@ -3636,7 +3642,7 @@
Alguns artigos da Wikipédia podem não estar disponíveis em seu nome. Selecione os idiomas nos quais os artigos da Wikipédia aparecerão no mapa.
\nPoderá alternar entre todos os idiomas disponíveis enquanto lê o artigo.Mapas adicionais são necessários para visualizar os POIs da Wikipédia no mapa.
- Selecione os idiomas em que os artigos da Wikipédia aparecerão no mapa. Pode alternar entre todos os idiomas disponíveis enquanto lê o artigo.
+ Selecione as línguas dos artigos da Wikipedia no mapa. Mude para qualquer língua disponível enquanto lê o artigo.OsmAnd + MapillaryRastreador do OsmAndAção rápida
@@ -3649,11 +3655,13 @@
Compras de OsmAndO guia para a simbologia de um mapa.Perfis de navegação
- Pesquisar tipos de poi
+ Pesquisar categorias de POI%1$s / %2$s
- A sua conta Google Play é cobrada no momento da compra de uma assinatura
-\ne quando expirar (mês/três mês/ano),
-\nnão se renovará se cancelado antes disso a partir das suas configurações do Google Play.
+ O pagamento será debitado na sua conta Google Play na confirmação da compra.
+\n
+\n A assinatura é renovada automaticamente, a menos que seja cancelada antes da data de renovação. A sua conta será cobrada pelo período de renovação (mês/três meses/ano) apenas na data de renovação.
+\n
+\n Pode gerir e cancelar as suas subscrições, indo às suas definições do Google Play.Ação %1$s não suportadaMapas adicionaisAlguns artigos da Wikipédia podem não estar disponíveis no seu idioma.
@@ -3685,7 +3693,7 @@
AragonêsLombardoCor customizada
- Combinar tipos de POI de diferentes categorias. Toque em \"Trocar\" para selecionar tudo, toque no lado esquerdo para seleção da categoria.
+ Combinar categorias de POI de categorias diferentes. Toque em trocar para selecionar tudo, toque no lado esquerdo para seleção da categoria.Ocultar o transporte públicoMostrar transporte públicoMostrar/ocultar transporte público
@@ -3704,7 +3712,7 @@
OsmAnd GPX não está bem formado, por favor entre em contacto com a equipa de suporte para investigar mais.SempreControle de ecrã
- Desliga o ecrã após o tempo limite do ecrã do sistema.
+ Desliga o ecrã após o tempo limite do ecrã de acordo com o do sistema.Usar o tempo limite do ecrã do sistemaOpções de acordar o ecrã:Selecione as opções de acordar o ecrã (certifique-se de que OsmAnd está em primeiro plano quando o aparelho está a ser bloqueado):
@@ -3716,7 +3724,7 @@
Selecione o tempo limite do ecrã após acordar. (\"%1$s\" não aplica tempo limite).Manter o ecrã ligadoManter o ecrã desligado
- Se a opção \"%1$s\" estiver ativada, o tempo de atividade dependerá disso.
+ Se \"%1$s\" está ativado, o tempo da atividade vai depender dele.Projeção pseudo-MercatorUm ficheiro de imagem por quadrículaFicheiro SQLiteDB
@@ -3724,31 +3732,102 @@
Insira ou cole a URL para a fonte on-line.Editar fonte on-lineTempo de validade
- Projeção Mercator
+ Projeção de MercatorFormato de armazenamento
- Defina o nível mínimo e máximo de ampliação no qual o mapa on-line será exibido ou carregado.
- Estes parâmetros irão afetar a visualização quando utilizados como mapa ou sobreposição/sub-camada.
+ Defina um nível mínimo e máximo de ampliação para mostrar ou carregar o mapa on-line.
+ Afeta o ecrã quando usado como mapa ou sobreposição/segundo plano.
\n
-\n%1$s: O mapa será limitado às ampliações selecionados.
+\n%1$s: O mapa está limitado ao intervalo de nível de ampliação selecionado.
\n
-\n%2$s: Níveis de ampliação em que os azulejos originais serão visíveis. O aumento ou redução de escala ocorrerá fora destes valores.
- Tempo de expiração em minutos. As quadrículas em cache serão carregadas novamente após um tempo especificado. Deixe este campo vazio para nunca atualizar as quadrículas para esta fonte.
-\n
-\nUm dia são 1440 minutos.
-\nUma semana são 10 080 minutos.
-\nUm mês são 43 829 minutos.
+\n%2$s são os níveis em que as quadrículas originais serão visíveis, o aumento ou redução de escala ocorrerá fora destes valores.
+ As quadrículas em cache serão redescarregadas novamente após um tempo especificado em minutos. Deixe este campo vazio para nunca atualizar as quadrículas para esta fonte.
+\n
+\nUm dia são 1 440 minutos.
+\nUma semana são 10 080 minutos.
+\nUm mês são 43 829 minutos.Escolha como as quadrículas descarregadas serão armazenadas.Padrão de tempo limite do ecrãForneça a largura do seu veículo, algumas restrições de rotas podem ser aplicadas a veículos largos.Forneça a altura do seu veículo, algumas restrições de rotas podem ser aplicadas a veículos altos.Forneça o peso do seu veículo, algumas restrições de rotas podem ser aplicadas a veículos pesados.
- Pode Exportar ou Importar ações rápidas com perfis de aplicações.
+ Pode exportar ou importar ações rápidas com perfis de apps.Apagar tudo\?Tem certeza de que deseja apagar de forma irrevogável %d de ações rápidas\?Tempo limite do ecrãtonsmetros
- Controla a visibilidade de detalhes adicionais mostrados no mapa
+ Mostrar ou ocultar detalhes adicionais do mapaMapa noturnoO tempo todo
+ Cadeira de rodas
+ Go-cart
+ Os alertas de radares de velocidade em alguns países são proibidos por lei.
+ Manter ativo
+ Ocultar Mapillary
+ Forneça um nome para o ponto
+ A aplicação dessas alterações limpará os dados em cache dessa origem de bloco
+ Este aparelho não possui câmeras de velocidade.
+ Em alguns países ou regiões, o uso de aplicações de aviso de radares é proibido por lei.
+\n
+\nPrecisa fazer uma escolha, dependendo da lei do seu país.
+\n
+\nSelecione %1$s e receberá alertas e avisos sobre radares de velocidade.
+\n
+\nSelecione %2$s. Todos os dados relacionados a radares de velocidade: alertas, notificações, POIs serão apagados até que o OsmAnd seja completamente reinstalado.
+ Obter informações sobre pontos de interesse da Wikipédia. É o seu guia de bolso off-line - falta só ativar o suplemento Wikipédia e desfrutar de artigos sobre os elementos ao seu redor.
+ Motoneta
+ Apagar próximo ponto de destino
+ Descarregar mapas da Wikipédia
+ Pode acessar essas ações tocando no botão “%1$s”.
+ Desinstalar
+ Forneça o comprimento do seu veículo. Algumas restrições de rotas podem ser aplicadas a veículos longos.
+ Botões de volume como zoom
+ É necessário reiniciar para excluir completamente os dados da câmera de velocidade.
+ %1$s apagado
+ Uma alternância para mostrar ou ocultar a camada Mapillary no mapa.
+ Definir altura da embarcação
+ Mostrar Mapillary
+ Motocicleta enduro
+ Patins em linha
+ Desativado. Requer \'manter o ecrã ligadp\' em \'tempo limite após a ativação\'.
+ • Novos mapas de inclinação offline
+\n
+\n • Personalização completa de Favoritos e Waypoints GPX - cores, ícones e formas personalizados
+\n
+\n • Personalize a ordem dos itens no menu de contexto, configurar mapa, gaveta
+\n
+\n • Wikipédia como uma camada separada no mapa Configurar, selecione apenas os idiomas necessários
+\n
+\n • Crie seu próprio filtro / mapa de POI com total flexibilidade
+\n
+\n • Adicionadas opções para restaurar configurações de perfis personalizados
+\n
+\n • Rotas GPX completas das faixas de tráfego da Navigation Support e instruções completas de curva
+\n
+\n • Corrigir tamanhos de interface do utilizador em tablets
+\n
+\n • Corrija bugs com RTL
+\n
+\n
+ O ponto de destino atual na rota será apagado. Se for o destino, a navegação será interrompida.
+ Defina a altura da embarcação para evitar pontes baixas. Lembre-se, se a ponte for móvel, usaremos sua altura no estado aberto.
+ Adicionar fonte online
+ Defina a largura da embarcação para evitar pontes estreitas
+ Legal
+ Pode definir a altura da embarcação para evitar pontes baixas. Lembre-se, se a ponte for móvel, usaremos sua altura no estado aberto.
+ Cadeira de rodas para a frente
+ Ativar para controlar o nível de zoom do mapa com os botões de volume do aparelho.
+ Mostrar/ocultar Mapillary
+ Desinstalar radares de velocidade
+ Anotaçaõ OSM fechada
+ Desinstalar e reiniciar
+ Especifique o comprimento do veículo a ser permitido nas rotas.
+ Limite de comprimento
+ POIs de radares de velocidade
+ Retomar
+ Rolamento
+ Precisa de definir dias úteis para continuar
+ Rota entre pontos
+ Planejar uma rota
+ Adicionar ao trilho
\ No newline at end of file
diff --git a/OsmAnd/res/values-ru/strings.xml b/OsmAnd/res/values-ru/strings.xml
index 15f0a65b91..1bf61358ef 100644
--- a/OsmAnd/res/values-ru/strings.xml
+++ b/OsmAnd/res/values-ru/strings.xml
@@ -195,9 +195,9 @@
У вас пока нет файлов GPXВы также можете добавить файлы GPX в папкуДобавь ещё…
- Вид
+ Внешний видВключить быструю запись
- Отображение системного уведомления, позволяющего производить запись поездки.
+ Отображение системного уведомления, позволяющего начать запись поездки.УведомленияПродолжитьПауза
@@ -1620,7 +1620,7 @@
Маршруты автобусовМаршруты трамваев и поездовСкрыть
- Нежелательные участки
+ Нежелательные дороги%1$s необходимо это разрешение, чтобы выключить экран для экономии энергии.Автовключение экрана перед поворотомВключать экран перед поворотом (если выключен).
@@ -3817,6 +3817,10 @@
МотороллерЗакрытая заметка OSMИнвалидная коляска
- Выберите нужный вариант разбиения: по времени или по расстоянию.
- Выберите интервал с которым будут отображаться метки с расстоянием или временем на треке.
+ В карту
+ Инвалидное кресло впереди
+ Добавить к треку
+ Необходимо указать рабочие дни для продолжения
+ Маршрут между пунктами
+ План маршрута
\ No newline at end of file
diff --git a/OsmAnd/res/values-sc/strings.xml b/OsmAnd/res/values-sc/strings.xml
index f8c3f277fc..5ca06be084 100644
--- a/OsmAnd/res/values-sc/strings.xml
+++ b/OsmAnd/res/values-sc/strings.xml
@@ -2075,7 +2075,7 @@
Ischema de colores pro sas curvas de livelluIntegridade superfitziale de su caminuAllughe sa registratzione de biàgios lestra
- Ammustra una notìfica chi permitit de registrare su biàgiu.
+ Ammustra una notìfica chi permitit de incumentzare a registrare su biàgiu.NotìficasNon tenes galu documentos GPXPodes fintzas annànghere documentos GPX a sa cartella
@@ -3381,7 +3381,7 @@
Annanghe unu profilu aberende su documentu suo cun OsmAnd.Errore de importatzione de %1$s: %2$s%1$s importadu.
- Istimat s\'ora de arribu pro castas disconnotas de caminu, e limitat sa lestresa pro totu sos caminos (diat pòdere mudare s\'àndala)
+ Faghet unu càrculu de s\'ora de arribu pro castas disconnotas de caminu, e limitat sa lestresa pro totu sos caminos (diat pòdere mudare s\'àndala)BiancuCuncàmbia %1$s e %2$sPuntu de incumintzu
@@ -3715,7 +3715,7 @@
Cua sos trasportos pùblicosAmmustra sos trasportos pùblicosAmmustra/cua sos trasportos pùblicos
- Butone pro ammustrare o cuare su trasportu pùblicu in sa mapa.
+ Butone pro ammustrare o cuare sos trasportos pùblicos in sa mapa.Crea / Modìfica unu PDILogos de parchègiuAnnanghe / Modìfica unu preferidu
@@ -3822,4 +3822,8 @@
Cadira a rodasGo-kartNota de OSM serrada
+ Depes impostare sas dies de traballu pro sighire
+ Àndala intre puntos
+ Pranìfica un\'àndala
+ Annanghe a una rasta
\ No newline at end of file
diff --git a/OsmAnd/res/values-sk/phrases.xml b/OsmAnd/res/values-sk/phrases.xml
index 6ffca753c4..96de9b566f 100644
--- a/OsmAnd/res/values-sk/phrases.xml
+++ b/OsmAnd/res/values-sk/phrases.xml
@@ -2219,8 +2219,8 @@
Historický míľnikPovolenéStany nepovolené
- Otvorený oheň polovený
- Otvorený oheň nepolovený
+ Otvorený oheň povolený
+ Otvorený oheň nepovolenýÁnoSkautský tábor: nieLen skupiny: áno
diff --git a/OsmAnd/res/values-sk/strings.xml b/OsmAnd/res/values-sk/strings.xml
index b41cf8721c..4c1a4284c8 100644
--- a/OsmAnd/res/values-sk/strings.xml
+++ b/OsmAnd/res/values-sk/strings.xml
@@ -2068,7 +2068,7 @@
ZáznamŽiadne údajeZapnúť rýchly záznam
- Zobraziť systémové oznámenie, ktoré umožňuje nahrávanie.
+ Zobraziť systémové oznámenie, ktoré umožňuje spustiť nahrávanie.OznámeniaPokračovaťNemáte zatiaľ žiadne súbory GPX
@@ -3818,4 +3818,8 @@
Invalidný vozík dopreduMotokáraZatvorená OSM poznámka
+ Pre pokračovanie musíte zadať pracovné dni
+ Trasa medzi bodmi
+ Naplánovať trasu
+ Pridať do stopy
\ No newline at end of file
diff --git a/OsmAnd/res/values-sl/phrases.xml b/OsmAnd/res/values-sl/phrases.xml
index dcb31f9318..fcc590aa2d 100644
--- a/OsmAnd/res/values-sl/phrases.xml
+++ b/OsmAnd/res/values-sl/phrases.xml
@@ -738,4 +738,24 @@
DaDaDivje kampiranje
+ Semafor
+ Avtomehanik
+ Tehnični pregledi
+ Ležeči policaj
+ Mejna kontrola
+ Prometni otok
+ Metanol
+ Etanol
+ Elektrika
+ Tekoči vodik
+ 100 oktanski
+ 98 oktanski
+ 95 oktanski
+ 92 oktanski
+ 91 oktanski
+ 80 oktanski
+ Vulkanizer
+ Dvižna vrata
+ Vrata
+ Odpiralni časi
\ No newline at end of file
diff --git a/OsmAnd/res/values-sl/strings.xml b/OsmAnd/res/values-sl/strings.xml
index 323ca39e8e..a2c92a29cf 100644
--- a/OsmAnd/res/values-sl/strings.xml
+++ b/OsmAnd/res/values-sl/strings.xml
@@ -91,7 +91,7 @@
Prikaz opozoril prometa, omejitve hitrosti, hitrostnih kamer, grbin, tunelov, podatki o voznih razmerah in druga opozorila.Uporabi kompas, ko ni mogoče drugače določiti smeri.Uporabi kompas
- Izogni se avtocestam
+ Brez avtocestKončajPokaži koordinate GPS na zemljeviduPokaži trenutno mesto
@@ -117,7 +117,7 @@
Navigacija OsmAnd brez povezave trenutno ni na voljo.Promet po levi straniMožnost izberite za države, kjer se vozi po levi strani ceste.
- Izhodiščna točka še ni določena
+ Izhodiščna točka še ni določena.Trenutno mesto še ni določeno.Spremeni prosojnost (0 – prosojno, 255 – neprosojno)Ali želite prekiniti prejemanje datoteke?
@@ -191,7 +191,7 @@
Bočno (8 sektorjev)Urno (12 sektorjev)Slog prikazovanja smeri
- Izbor sloga za prikaz smeri med premikanjem.
+ Izbor sloga za prikaz smeri med premikanjemTukaj semAli želite poslati datoteko GPX na OSM?Določite uporabniško ime in geslo OSM za nalaganje datotek GPX.
@@ -279,7 +279,7 @@
Trgovina s hranoZa turisteGorivo
- Samodejno približanje zemljevida glede na hitrost vožnje (zemljevid se usklajuje s trenutnim mestom).
+ Približevanje zemljevida glede na hitrost vožnje (zemljevid se usklajuje s trenutnim mestom).Samodejna povečava zemljevidaMed navigacijo pripni položaj na ceste.Pripni na cesto
@@ -287,7 +287,7 @@
OsmAnd je odprtokodni program za navigacijo z uporabo shranjenih ali spletnih zemljevidovUstvari filter POINačin prevoza:
- Izbor načina prevoza
+ Načina prevoza:Sončni vzhod: %1$s\nSončni zahod: %2$sNastavite zaslonaVozni pasovi
@@ -305,7 +305,7 @@
Za odklepanje zaslona pritisnite ikono ključavnicePokaži imena cestMini zemljevid poti
- Izberite hitrost animacije poti
+ Hitrost animacije poti:OpozoriloPMAM
@@ -325,7 +325,7 @@
Značilnosti izrisovanjaSlog zemljevidaSkupna dodeljena velikost pomnilnika je %1$s MB (Dalvik %2$s MB, drugo %3$s MB).
-Sorazmerna velikost pomnilnika je %4$s MB (omejitev na androidu je %5$s MB, na dalviku %6$s MB).
+\nSorazmerna velikost pomnilnika je %4$s MB (omejitev na androidu je %5$s MB, na dalviku %6$s MB).Skupni izvorni pomnilnikObjavljen položajOdpeljite vozilo s parkirišča
@@ -385,7 +385,7 @@ Sorazmerna velikost pomnilnika je %4$s MB (omejitev na androidu je %5$s MB, na d
Delovni časZa objavljanje trenutnega mesta uporabi:Objavi trenutno mesto
- Izbor glasu in preizkus predvajaj navodil
+ Izbor glasu in preizkus predvajanja obvestil:Preizkusi glasovna navodilaPodatki govora (TTS)Podatki govora (posnetki)
@@ -583,7 +583,7 @@ Sorazmerna velikost pomnilnika je %4$s MB (omejitev na androidu je %5$s MB, na d
Datoteke ni mogoče preimenovati.Datoteka s tem imenom že obstaja.Pot GPX
- S poizvedbo je skladnih več kategorij POI:
+ Najdenih je več sorodnih kategorij POI.Ni krajevnih podatkov za iskanje točk POI.Podatkovna datoteka POI \'%1$s\' je zastarela in jo je priporočljivo izbrisati.Krajevne datoteke za shranjevanje podatkov POI ni mogoče najti niti je ni mogoče ustvariti.
@@ -607,7 +607,7 @@ Sorazmerna velikost pomnilnika je %4$s MB (omejitev na androidu je %5$s MB, na d
Prejem osnovnega zemljevida sveta omogoča pregled vseh celin pri zelo oddaljenem pogledu.Za uporabo zemljevidov pri delu brez povezave je treba prejeti datoteke s podatki.Datum shranjene različice
- Izbor velikosti besedila za imena na zemljevidu.
+ Velikost besedila za imena na zemljevidu:Velikost pisave zemljevidaPodatki razhroščevanja izrisovanjaPokaži zmogljivost izvajanja izrisovanja.
@@ -628,20 +628,20 @@ Sorazmerna velikost pomnilnika je %4$s MB (omejitev na androidu je %5$s MB, na d
Prozornost osnovnega zemljevidaPodloga zemljevida …Podloga zemljevida
- Izbor podloge uporabljenega zemljevida.
+ Izbor podloge uporabljenega zemljevidaPrekrivni zemljevid …BrezPrekrivni zemljevidIzbor prekrivnega zemljevidaZemljevid je že nameščen. Nastavitve bodo posodobljene.
- Izbor zemljevidov za namestitev ali posodobitev
+ Izbor zemljevidov za namestitev ali posodobitev.Opravila ni mogoče izvesti brez vzpostavljene povezave z internetom.Namesti več …Določitev spletnega OSM s slikami.Iskanja v načinu brez povezave ni mogoče izvesti.Poišči mesto na zemljeviduZa ogled mesta sledite povezavi spletnega brskalnika %1$s ali povezavi Android %2$s
- Vmesna točka GPX »{0}« je dodana.
+ Vmesna točka GPX »{0}« je dodanaDodaj vmesno točko na shranjeno sled GPXDodaj vmesno točko na sled GPXPrevoz
@@ -685,11 +685,11 @@ Sorazmerna velikost pomnilnika je %4$s MB (omejitev na androidu je %5$s MB, na d
Tega zemljevida ni mogoče prejetiStalno izrisovanjeIzvaja stalno izrisovanje namesto slike-po-sliko.
- Ni mogoče izrisati izbranega področja
+ Ni mogoče izrisati izbranega področja.Izrisovalnik je naložen
- Izrisovalnika ni mogoče naložiti
+ Izrisovalnika ni mogoče naložiti.Vektorski izrisovalnik
- Izberite videz izrisovalnika.
+ Izberite videz izrisovalnikaPokaži spletišče POIPokaži telefon točke POIPoišči …
@@ -702,10 +702,10 @@ Sorazmerna velikost pomnilnika je %4$s MB (omejitev na androidu je %5$s MB, na d
Vektorski zemljevidi niso naloženiV mapi sledi ni najti mogoče nobene datoteke GPX.Datoteke GPX …
- Napaka med branjem podatkov GPX
+ Napaka med branjem podatkov GPX.Vektorski zemljevidi za delo brez povezaveIskanje prevoza na postaji
- Izbor poravnave zaslona zemljevida.
+ Poravnava zemljevida:Podrobnosti potiPriljubljene točke so uvožene>Datoteke GPX, ki vsebuje priljubljene točke, na {0} ni mogoče najti
@@ -731,25 +731,28 @@ Sorazmerna velikost pomnilnika je %4$s MB (omejitev na androidu je %5$s MB, na d
\n• brez povezave ni dostopa do vsebin z Wikipedije.
\n
\nOsmAnd je program v razvoju. Napredek projekta je odvisen od finančnih prispevkov, s katerimi se financira razvoj in testiranje novih funkcionalnosti. Razmislite o nakupu aplikacije OsmAnd+, ali financiranju posamezne funkcionalnosti oziroma nenamensko donacijo na spletni strani https://osmand.net.
- OsmAnd+ (OSM Automated Navigation Directions)
+ "OsmAnd+ (OSM Automated Navigation Directions)
\n
-\nOsmAnd+ je odprtokodna programska oprema za navigacijo, ki za prikaz uporablja širok nabor zemljevidov OpenStreetMap (OSM). Vse podatke zemljevidov je mogoče shraniti v pomnilnik naprave (telefona ali tablice) za uporabo brez povezave. OsmAnd omogoča tudi izračun poti in glasovno vodenje od zavoja do zavoja.
+\n OsmAnd+ je odprtokodna programska oprema za navigacijo, ki za prikaz uporablja širok nabor zemljevidov OpenStreetMap (OSM). Vse podatke zemljevidov je mogoče shraniti v pomnilnik naprave (telefona ali tablice) za uporabo brez povezave. OsmAnd omogoča tudi izračun poti in glasovno vodenje od zavoja do zavoja.
\n
-\nOsmAnd+ je plačljiva različica programa. Z nakupom podprete projekt, razvoj programske kode, nove zmožnosti programa in pridobite dostop do vseh najnovejših posodobitev.
+\n OsmAnd+ je plačljiva različica programa. Z nakupom podprete projekt, razvoj programske kode, nove zmožnosti programa in pridobite dostop do vseh najnovejših posodobitev.
+\n
\n
-\nPomembnejše lastnosti:
-\n• Popolnoma delujoč tudi brez povezave (shrani podatke vektorskih zemljevidov v mapo po izbiri)
-\n• Na voljo so stisnjeni vektorski podatki zemljevida za cel svet
-\n• Prenos podatkov zemljevida posameznih držav ali področij znotraj programa
-\n• Prekrivanje zemljevidov s podatkovnimi plastmi; na primer sledmi GPX, načrti poti, zanimive in priljubljene točke, izohipsami, postajališči javnega prometa, dodatni zemljevidi z nastavljivo prosojnostjo
-\n• Iskanje naslovov, krajev in zanimivih točk (POI) brez povezave
-\n• Vodenje poti v načinu brez povezave za srednje dolge poti -
-\n• Način za avtomobiliste, kolesarje in pešce:
-\n- z nastavljivim samodejnim preklopom med dnevnim in nočnim prikazom
-\n- z nastavljivo povečavo zemljevida glede na hitrost gibanja
-\n- z nastavljivo usmerjenostjo zemljevida glede na kompas ali glede na smer gibanja
-\n- z nastavljivo vodenje po voznih pasovih, prikaz omejitev hitrosti, vodenje s posnetim ali sintetiziranim govorom (TTS).
- Ni mogoče naložiti datoteke GPX
+\n Pomembnejše lastnosti:
+\n • Popolnoma delujoč tudi brez povezave (shrani podatke vektorskih zemljevidov v mapo po izbiri)
+\n • Na voljo so stisnjeni vektorski podatki zemljevida za cel svet
+\n • Prenos podatkov zemljevida posameznih držav ali področij znotraj programa
+\n • Prekrivanje zemljevidov s podatkovnimi plastmi; na primer sledmi GPX, načrti poti, zanimive in priljubljene točke, izohipsami, postajališči javnega prometa, dodatni zemljevidi z nastavljivo prosojnostjo
+\n
+\n • Iskanje naslovov, krajev in zanimivih točk (POI) brez povezave
+\n • Vodenje poti v načinu brez povezave za srednje dolge poti
+\n • Način za avtomobiliste, kolesarje in pešce:
+\n - z nastavljivim samodejnim preklopom med dnevnim in nočnim prikazom
+\n - z nastavljivo povečavo zemljevida glede na hitrost gibanja
+\n - z nastavljivo usmerjenostjo zemljevida glede na kompas ali glede na smer gibanja
+\n - z nastavljivo vodenje po voznih pasovih, prikaz omejitev hitrosti, vodenje s posnetim ali sintetiziranim govorom (TTS).
+\n"
+ Ni mogoče naložiti datoteke GPX.Pošlji poročiloNa kartici SD ni podatkov območij za uporabo brez povezave.Vpišite niz za iskanje točk POI
@@ -768,9 +771,9 @@ Sorazmerna velikost pomnilnika je %4$s MB (omejitev na androidu je %5$s MB, na d
Nastavitev najdaljšega časa čakanja za prilagajanje trenutne točke.Najdaljši časa čakanja prilagajanjaOmrežje
- Nastavitev intervala prebujanja v ozadju.
+ Interval prebujanja uporabljenih servisev v ozadju:Interval prebujanja sprejemnika GPS
- Izberite način določevanja mesta med izvajanjem v ozadju.
+ Način določevanja mesta med izvajanjem v ozadju:Ponudnik mestaSpremljanje položaja, ko je zaslon izklopljen.Zaženi OsmAnd v ozadju
@@ -794,7 +797,7 @@ Sorazmerna velikost pomnilnika je %4$s MB (omejitev na androidu je %5$s MB, na d
Poteka čakanje na signal …Poišči v bližini trenutne sredine zemljevidaPriljubljene točke so shranjene v {0}
- Oblike zapisa delovnega časa ni mogoče spremeniti
+ Oblike zapisa delovnega časa ni mogoče spremeniti.Dodajanje novega pravilaPotiPostaja
@@ -810,8 +813,8 @@ Sorazmerna velikost pomnilnika je %4$s MB (omejitev na androidu je %5$s MB, na d
Pokaži postaje javnega prevoza na zemljevidu.Pokaži postaje prevozaPodatki POI podatki so posodobljeni (naloženo {0})
- Seznama točk POI ni mogoče posodobiti
- S strežnika ni mogoče naložiti podatkov
+ Seznama točk POI ni mogoče posodobiti.
+ S strežnika ni mogoče naložiti podatkov.Ni krajevnih podatkov POI za to območjePribližanje pogleda omogoči posodabljanje točk POIPosodobi točko POI
@@ -853,12 +856,12 @@ Sorazmerna velikost pomnilnika je %4$s MB (omejitev na androidu je %5$s MB, na d
Nalaganje ulic …Nalaganje mest …Točke POI
- Datoteke GPX ni mogoče shraniti
- Poti ni mogoče določiti
- Poti ni mogoče določiti
- Določena pot je brez podatkov
+ Datoteke GPX ni mogoče shraniti.
+ Poti ni mogoče določiti.
+ Poti ni mogoče določiti.
+ Določena pot je brez podatkov.Izračunana nova pot, razdalja
- Prispeli ste na cilj
+ Prispeli ste.Koordinate niso veljavne!Pojdi nazaj na zemljevid OsmAndNalaganje podatkov …
@@ -905,7 +908,7 @@ Sorazmerna velikost pomnilnika je %4$s MB (omejitev na androidu je %5$s MB, na d
ni na voljoPosnemi zvočni zaznamekPosnemi video zaznamek
- Posnetka ni mogoče predvajati
+ Posnetka ni mogoče predvajati.Izbriši posnetekZvok oziroma video se snema. Za ustavitev pritisnite gumb gradnika AV.Sloj posnetka
@@ -914,7 +917,7 @@ Sorazmerna velikost pomnilnika je %4$s MB (omejitev na androidu je %5$s MB, na d
Snemanje zvokaPrivzeto dejanje gradnika:Privzeto dejanje gradnika
- Izberite zapis za video.
+ Izberite zapis za video:Zapis za videoUporabi sistemski snemalnik videa.Uporabi zunanji snemalnik
@@ -1014,7 +1017,7 @@ Sorazmerna velikost pomnilnika je %4$s MB (omejitev na androidu je %5$s MB, na d
\n* Zadržite pritisk na točki za ogled in dodajanje opisa.
\n* Za prikaz več možnosti, kliknite na gradnik za merjenje.Vrsta ostrenja kamere
- Izberite vrsto ostrenja vgrajene kamere.
+ Vrsta ostrenja vgrajene kamere:Samodejno ostrenjeDaljinsko ostrenjePovečana globinska ostrina (EDOF)
@@ -1081,16 +1084,16 @@ Sorazmerna velikost pomnilnika je %4$s MB (omejitev na androidu je %5$s MB, na d
Motorno koloNavigacija za plovboLetalska navigacija
- Izbrisanih bo %1$d sprememb. Ali ste prepričani, da želite nadaljevati?
+ Ste prepričani, da želite izbrisati %1$d OSM sprememb\?Izbriši vseIzrisovanje zemljevidaPomorska oznaka
- Izbor profilov, prikazanih v programu.
+ Izbor prikazanih profilov.Profili programaNastavitve navigacijeOnemogoči dvofazno usmerjanje za avtomobilsko navigacijo.Nastavitve usmerjanja
- Določitev hitrosti govora za TTS.
+ Določite hitrost govora za besedilo-v-govor (TTS).Hitrost govoraHitri izračun poti je spodletel (%s), zato bo uporabljen počasnejši način izračuna.Onemogoči zapleteno usmerjanje
@@ -1138,16 +1141,16 @@ Sorazmerna velikost pomnilnika je %4$s MB (omejitev na androidu je %5$s MB, na d
Evropa – ItalijaEvropa – Velika BritanijaPrednostno vodi po avtocestah
- Prednostno bodo izbrane hitre ceste in avtoceste.
- Izogni se cestninam
+ Prednostno bodo izbrane hitre ceste in avtoceste
+ Brez cestninIzogne se cestam s plačljivo cestnino
- Izogni se neasfaltiranim cestam
+ Brez neasfaltiranih cestIzogne se netlakovanim cestam
- Izogni se trajektom
+ Brez trajektovIzogne se trajektom
- Izogni se avtocestam
+ Brez avtocestIzogne se avtocestam
- Omejitev teže vozila
+ Omejitev težeVodenje po poteh z omejitvijo dovoljene teže vozila.Tovorno voziloSvetovna plačila Bitcoin
@@ -1164,8 +1167,8 @@ Sorazmerna velikost pomnilnika je %4$s MB (omejitev na androidu je %5$s MB, na d
Izbor ciljaIzberi na zemljeviduPriljubljene
- Z različico androida KitKat posodabljanje zemljevidov na staro mesto shranjevanja (%s) ni več mogoče. Ali želite kopirati vse datoteke na novo mesto?
-\n Opomba 1: vse stare datoteke bodo ostale nespremenjene (vendar jih lahko ročno izbrišete).
+ Z različico androida 4.4 (KitKat) je staro mesta shranjevanja (%s) nezaželeno. Ali želite kopirati vse datoteke na novo mesto\?
+\n Opomba 1: vse stare datoteke bodo ostale nespremenjene (vendar jih lahko ročno izbrišete).
\n Opomba 2: souporaba datotek med OsmAnd in OsmAnd+ ni mogoča.Kopiranje datoteke (%s) na novo mesto hrambe …Kopiranje datotek s podatki za OsmAnd na novo mesto hrambe (%s) …
@@ -1287,7 +1290,7 @@ Sorazmerna velikost pomnilnika je %4$s MB (omejitev na androidu je %5$s MB, na d
Zadnji metri pred ciljemZ barvo označi vrsto stavbeVelikost fotografije
- Izberite velikost posnetkov vgrajenega fotoaparata.
+ Nastavite velikost posnetkov fotoaparataPrejem manjkajočih zemljevidov %1$s (%2$d MB)?Več …Vožnja z avtomobilom
@@ -1788,9 +1791,9 @@ Sorazmerna velikost pomnilnika je %4$s MB (omejitev na androidu je %5$s MB, na d
Upravljanje prek nadzorne plošče ali menijaOb meniju je na voljo možnost upravljanja programa prek prilagodljive nadzorne plošče. Možnost je mogoče izbrati med nastavitvami.Opomba OSM z dodatnimi zapisi
- Izogni se stopnicam
+ Brez stopnicIzogne se stopnicam
- Izogni se mejnim prehodom
+ Brez mejnih prehodovV bližiniSkrijNajnižja kakovost
@@ -1842,7 +1845,7 @@ Sorazmerna velikost pomnilnika je %4$s MB (omejitev na androidu je %5$s MB, na d
Razveljavi vseVrstaZačetna točka
- Izberite mesec in državo
+ Mesec in država:IzberiObrni začetno točko in ciljSkrij ikone točk POI
@@ -2145,9 +2148,9 @@ Sorazmerna velikost pomnilnika je %4$s MB (omejitev na androidu je %5$s MB, na d
Neveljavna koda območja
\nKratka koda območja
-Vpisati je treba polno kodo
+\nVpisati je treba polno kodoVeljavna koda območja
-Koda predstavlja območje: %1$s x %2$s
+\nKoda predstavlja območje: %1$s x %2$sGlasovno vodenjeGlasovno vodenje je onemogočeno.Glasovno vodenje je omogočeno.
@@ -2173,7 +2176,7 @@ Koda predstavlja območje: %1$s x %2$sIzbrano ime hitrega dejanja je že v uporabi, zato je novo samodejno spremenjeno v %1$s.Pusti prazno za uporabo naslova ali imena mesta.Sporočilo bo dodano v polje opombe.
- Izbor kategorije za shranjevanje priljubljene točke.
+ Kategorija za shranjevanje priljubljene točke:Izbor kategorije po meri.Dodati je mogoče eno ali več kategorij točk POI za prikaz na zemljevidu.Pritisk na gumb dejanja pomakne seznam za eno stran.
@@ -2472,12 +2475,13 @@ Koda predstavlja območje: %1$s x %2$s
\n
\nGlavne značilnosti programa so:Navigacija
-\n• Deluje prek širokopasovne povezave (hitro) ali brez povezave (ni dodatnih stroškov na poti)
-\n• Glasovno vodenje od zavoja-do-zavoja (posneti in sintetizirani glasovi)
-\n• Izbirno vodenje po pasovih, prikaz imen ulic in pričakovanega časa prihoda
-\n• Podpora vmesnim točkam na poti
-\n• Samodejno preusmerjanje in preračunavanje poti ob nepričakovani spremembi poti
-\n• Iskanje mest po naslovu, po vrsti (na primer: restavracija, hotel, bencinska črpalka, muzej) ali po koordinatah
+\n • Deluje prek širokopasovne povezave (hitro) ali brez povezave (ni dodatnih stroškov na poti)
+\n • Glasovno vodenje od zavoja-do-zavoja (posneti in sintetizirani glasovi)
+\n • Izbirno vodenje po pasovih, prikaz imen ulic in pričakovanega časa prihoda
+\n • Podpora vmesnim točkam na poti
+\n • Samodejno preusmerjanje in preračunavanje poti ob nepričakovani spremembi poti
+\n • Iskanje mest po naslovu, po vrsti (na primer: restavracija, hotel, bencinska črpalka, muzej) ali po koordinatah
+\n
Pregledovanje zemljevida
\n• Prikaz trenutnega mesta in usmerjenost
\n• Izbirno prilagajanje po kompasu oziroma po smeri gibanja
@@ -2595,7 +2599,7 @@ Koda predstavlja območje: %1$s x %2$sPrikaz vodilnih črt od trenutnega mesta do mest dejavnih označb.Pokaži eno ali dve črti, ki določata smer do dejavnih označb.Izbor načina za prikaz razdalje do dejavnih označb.
- Določite število oznak smeri:
+ Določite število oznak smeri.Preimenuj označboOznačba je doseženaVmesne točke so dodane med označbe zemljevida.
@@ -2816,7 +2820,7 @@ Koda predstavlja območje: %1$s x %2$s
Ponovni zagon programaNaročnina na storitev OsmAnd Live je bila preklicana.Brezplačen svetovni popotniški vodnik, ki ga lahko ureja vsak popotnik.
- Izberite ustrezno možnost:
+ Izberite ustrezno možnostStran je na voljo le na spletu. Ali jo želite odpreti v spletnem brskalniku\?Iskanje: država, mesto, okrajSvetovni prispevki Wikivoyage
@@ -2851,7 +2855,7 @@ Koda predstavlja območje: %1$s x %2$s
Ne objaviObjaviPrejmite prispevke z Wikipedija o %1$s za pregled brez povezave.
- Pritisnite na gumb in poslušajte glasovni odziv za ugotavljanje manjkajočih oziroma napačnih navodil.
+ Pritisnite na gumb in poslušajte glasovni odziv, da bi slišali, če je manjkajoč oziroma napačenNaročnineDodaj ciljDodaj vmesni cilj
@@ -3063,7 +3067,7 @@ Koda predstavlja območje: %1$s x %2$s
Za osebne avtomobile, motorje, tovornjake ...Za gorska kolesa, kolesa z motorjem, ježo s konjiZa hojo, pohodništvo, tek ...
- Vrste javnega prevoza
+ Za uporabo javnega prevozaZa potovanje z ladjo, jadranje, veslanje ...Za letala, jadralna padala ...Hoja po azimutu
@@ -3313,4 +3317,30 @@ Koda predstavlja območje: %1$s x %2$s
Ni izbranih predmetovHitra dejanjaProfili
+ Odstrani namestitev
+ Povezovalna
+ Enostavna
+ Začetniška
+ rolerji
+ Naprava nima kamer z merilci hitrosti.
+ Prosim, vnesite ime za točko
+ Zbriši naslednjo ciljno točko
+ Trenutna ciljna točka na poti bo izbrisana. Če je to cilj, se bo navigacija ustavila.
+ Prejmi informacije o zanimivih točkah iz Wikipedije. To je vaš žepni vodič brez povezave - samo omogočite Wikipedijin vtičnik in uživajte v člankih o predmetih okoli vas.
+ Omogoči za nadzor približevanja zemljevida z gumbi za glasnost.
+ Skrij Mapillary
+ Prikaži mapillary
+ Dodaj spletni vir
+ Prikaži/skrij Mapillary
+ Odstrani in ponovno zaženi
+ Uporabi gumbe za glasnost za približevanje
+ Prejmi Wikipedija zemljevide
+ Invalidski voziček
+ Gokart
+ Zaprta opomba OSM
+ Za nadaljevanje morate izpolniti izbor delovnih dni
+ Pot med točkama/-i
+ Načrtujte pot
+ Dodaj na sled
+ Omejitev širine
\ No newline at end of file
diff --git a/OsmAnd/res/values-sr/phrases.xml b/OsmAnd/res/values-sr/phrases.xml
index 2908da2fc3..7502639336 100644
--- a/OsmAnd/res/values-sr/phrases.xml
+++ b/OsmAnd/res/values-sr/phrases.xml
@@ -3279,7 +3279,7 @@
Саветовање (рехабилитација): даСаветовање (исхрана): неСаветовање (исхрана): да
- Атол
+ Корална обалаДонација крвиМедицинска лабораторијаВелепродаја
@@ -3314,7 +3314,7 @@
ОпасностБесконтактно не прихвата сеБесконтактно
- Нагла појава
+ Израњајућа стенаПродавница апаратаКрајњи датумСтена
@@ -3342,7 +3342,7 @@
Ледена капаТежинаБрој кабла
- Виа ферата
+ Заштићена рутаАвантура пењањаЗип линијаГуме
@@ -3436,7 +3436,7 @@
Квалитет пењања: крхКвалитет пењања: чврстСтена за пењање: порфир
- Стена за пењање: гнеисс
+ Стена за пењање: гнаисСтена за пењање: кварцитСтена за пењање: пешчењакПењање на камен: гранит
@@ -3631,4 +3631,187 @@
Природни споменикБрига о дециПутарина
+ Штит
+ Стратовулкан
+ Шљака
+ УРЛ
+ Паркинг место
+ Гроб
+ Пол заједнице: мешовити
+ Пол заједнице: мушки
+ Пол заједнице: женски
+ Туристички камп
+ Тип манастира: регуларно службени
+ Тип манастира: отшелнички
+ Тип манастира: канонски
+ Тип манастира: мушки
+ Тип манастира: женски
+ Не
+ Да
+ Купатило за стопала
+ Језеро
+ Река
+ Термално
+ Турско купатило
+ Онсен
+ Топли извор
+ Поштанска банка
+ Жирокартица
+ Мигрос банка
+ Постфинансијска картица
+ Подизање готовине: стране картице
+ Подизање готовине: минимална куповина
+ Накнада за подизање готовине: не
+ Накнада за подизање готовине: да
+ Подизање готовине: куповина није неопходна
+ Подизање готовине: куповина неопходна
+ Валута за подизање готовине
+ Лимит за подизање готовине
+ Тип подизања готовине: самоплаћање
+ Тип подизања готовине: каса
+ Оператор подизања готовине
+ Подизање готовине
+ Подизање готовине: да
+ Шишање љубимаца
+ Пуњење
+ Столар ормана
+ Пекара
+ Паркетар
+ Столар
+ Дестилерија
+ Зидар
+ Здрава храна
+ Улаз у подрум
+ Одређено
+ Да
+ Одређено
+ Да
+ Испорука
+ Одређено
+ Допуштено
+ Одредиште
+ Да
+ Одређено
+ Да
+ Одређено
+ Да
+ Одређено
+ Одредиште
+ Допуштено
+ Да
+ Одређено
+ Да
+ Одређено
+ Да
+ Одређено
+ Да
+ Одређено
+ Да
+ Допуштено
+ Одређено
+ Да
+ Приступ тренеру: не
+ Приступ аутобусу: да
+ ВЈС приступ: не
+ ПСВ приступ: одређен
+ ВЈС приступ: да
+ Приступ моторним кућама: не
+ Мофа приступ: не
+ Такси канцеларија
+ Салон са наргилом
+ Гомила угља
+ Накнада промене стола: не
+ Накнада промене стола: да
+ Број промена стола
+ Локација промене стола: унисекс тоалет
+ Локација промене стола: женски тоалет
+ Локација промене стола: мушки тоалет
+ Локација промене стола: соба
+ Промена стола: ограничена
+ Промена стола: не
+ Промена стола: да
+ Локација
+ Опасност: контаминација
+ Опасност: минско поље
+ Опасност: лавина
+ Опасност: поплава
+ Опасност: нуклеарна
+ Опасност: одрон стена
+ Опасност: ерозија
+ Спасилачка кутија
+ Избрисани објект
+ Гасна бакља;Гомила бакљи
+ 3Б*
+ 3Б
+ 3А*
+ 3А
+ 2Б*
+ 2Б
+ 2А*
+ 2А
+ 1Б*
+ 1Б
+ 1А*
+ 1А
+ н/к*
+ н/к
+ Трајект
+ Трамвај
+ ВОВ
+ Метро
+ Аутобус
+ Воз
+ Градски блок
+ Градић
+ Поклон кутија
+ Да
+ Да
+ Вибрација: не
+ Статус пумпе: недостаје сноп
+ Усисни
+ Под притиском
+ Подземна вода
+ Цев
+ Мрежа за поновно доливање питке воде
+ Доливање воде за пиће: не
+ Доливање воде за пиће: да
+ Опструкција
+ Ниво воде: испод средњег нивоа
+ Ниво воде: изнад средњег нивоа
+ Ниво воде: плутајући
+ Ниво воде: поплаве
+ Ниво воде: на нивоу
+ Ниво воде: прекривачи
+ Ниво воде: сув
+ Ниво воде: потопљен
+ Ниво воде: делимично потопљен
+ Неисправано
+ Примитивно
+ Контрастно
+ Дозвољено је само при ходању
+ Сигнал за проналазак пола
+ Не
+ Да
+ Тип кабине
+ Кабина
+ Не
+ Да
+ Ронилачки центар
+ Ловачка база
+ Референтни број стазе
+ Центар за куглање
+ Продавница безбедности
+ Планинска спасилачка
+ Паинтбол
+ Бицикл дух
+ Број ерупција
+ Неактиван
+ Активан
+ Латентан
+ Изумрео
+ Последња ерупција
+ Блато
+ Купола лаве
+ Калдера
+ Мар
\ No newline at end of file
diff --git a/OsmAnd/res/values-sr/strings.xml b/OsmAnd/res/values-sr/strings.xml
index 7a19f27534..75c9b5a7d8 100644
--- a/OsmAnd/res/values-sr/strings.xml
+++ b/OsmAnd/res/values-sr/strings.xml
@@ -975,7 +975,7 @@
Додај још…ИзгледУкључи брзо снимање
- Приказуј обавештење које омогућава снимање путовања.
+ Приказуј обавештење које омогућава покретање снимања путовања.ОбавештењаНаставиПаузирај
@@ -3817,4 +3817,8 @@
Инвалидска колица напредКорпаЗатворена ОСМ белешка
+ За наставак морате да одредите радне дане
+ Рута између тачака
+ Планирај руту
+ Додајте стази
\ No newline at end of file
diff --git a/OsmAnd/res/values-tr/strings.xml b/OsmAnd/res/values-tr/strings.xml
index 268467dae2..b26699b76f 100644
--- a/OsmAnd/res/values-tr/strings.xml
+++ b/OsmAnd/res/values-tr/strings.xml
@@ -1927,7 +1927,7 @@
Seçilen veri saklama klasörü yazma korumalı olduğu için dahili hafızaya geçildi. Lütfen yazılabilir bir depolama dizini seçin.Paylaşılan bellekÜst menü
- Rota yeniden hesapla
+ Güzergahı yeniden hesaplaRaporHedef ayarlanmadıRota terkedildiğinde yeniden hesaplanmasın
@@ -1980,7 +1980,7 @@
Nokta(lar) silindi.Takip etWaypointler, ilgi çekici noktalar, adlandırılmış özellikler
- Azami hız
+ En yüksek hızOrtalama hızAzamiBaşlangıç zamanı
@@ -2258,7 +2258,7 @@
Otoyolları kullanOtoyollara izin verir.POI yükleyin
- Gezi kaydına izin veren bir sistem bildirimi görüntüle.
+ Gezi kaydını başlatmaya izin veren bir sistem bildirimi görüntüle.SeyahatKaydedildiÖzel süzgeç oluştur
@@ -3265,7 +3265,7 @@
Pist zorluğuGenişlik sınırıRotalarda izin verilen araç genişlik sınırını belirtin.
- Belirli rotalardan ve yol türlerinden kaçının
+ Belirli güzergahlardan ve yol türlerinden kaçınınYan yanaHava yoluBağlantı
@@ -3396,7 +3396,7 @@
Video notlarıFotoğraf notlarıRotanın yeniden hesaplanması
- Anons
+ DuyuruKullanıcı adı ve parolaBu ayarlar tüm profiller için geçerlidir.OSM düzenleme
@@ -3543,9 +3543,9 @@
Tüm profil ayarları geri yüklensin mi\?Bu profili oluşturduktan/ içe aktardıktan sonra tüm profil ayarları orijinal değerlerine geri yüklenecektir.Kayıtlı verileri silmek istediğinize emin misiniz\?
- Sapma durumunda rotayı yeniden hesapla
- Rotanın yeniden hesaplanacağı mesafeyi seçin.
- Rotadan geçerli konuma olan mesafe seçilen değerden fazla ise rota yeniden hesaplanacaktır.
+ Sapma durumunda güzergahı yeniden hesapla
+ Güzergahın yeniden hesaplanacağı mesafeyi seçin.
+ Güzergahtan geçerli konuma olan mesafe seçilen değerden fazla ise güzergah yeniden hesaplanacaktır.%1$s / %2$sYamaçlarAraziyi göster / gizle
@@ -3775,4 +3775,8 @@
İleri tekerlekli sandalyeGo-kartKapatılmış OSM Notu
+ İzlemeye ekle
+ Devam etmek için çalışma günlerini ayarlamalısınız
+ Noktalar arasındaki güzergah
+ Güzergah planla
\ No newline at end of file
diff --git a/OsmAnd/res/values-zh-rTW/strings.xml b/OsmAnd/res/values-zh-rTW/strings.xml
index 88c644aee8..0bd9404e36 100644
--- a/OsmAnd/res/values-zh-rTW/strings.xml
+++ b/OsmAnd/res/values-zh-rTW/strings.xml
@@ -2072,7 +2072,7 @@
增加更多…外觀啟用快速錄製
- 顯示允許行程錄製的系統通知。
+ 顯示允許開始行程錄製的系統通知。精細路線估算上傳 POI
@@ -3815,4 +3815,8 @@
輪椅向前卡丁車已關閉的 OSM 註記
+ 您必須設定工作天以繼續
+ 點與點之間的路線
+ 規劃路線
+ 新增到軌跡
\ No newline at end of file
diff --git a/OsmAnd/res/values/sizes.xml b/OsmAnd/res/values/sizes.xml
index 55119079e5..50f53cdeb2 100644
--- a/OsmAnd/res/values/sizes.xml
+++ b/OsmAnd/res/values/sizes.xml
@@ -252,15 +252,16 @@
4dp8dp220dp
- 48dp
- 52dp
- 12dp
+ 60dp
+ 56dp
+ 8dp16dp
- 12dp
+ 6dp14dp16dp8dp8dp
+ 10dp36dp52dp44dp
@@ -341,6 +342,7 @@
56dp96dp72dp
+ 54dp36dp80dp
diff --git a/OsmAnd/res/values/strings.xml b/OsmAnd/res/values/strings.xml
index b7feef3e1b..323b511ccb 100644
--- a/OsmAnd/res/values/strings.xml
+++ b/OsmAnd/res/values/strings.xml
@@ -11,13 +11,10 @@
Thx - Hardy
-->
- Solid
- Direction arrows
- Custom
- Select the desired splitting option: by time or by distance.
- Select the interval at which marks with distance or time on the track will be displayed.
- Select width
- Show start finish icons
+ Add to a Track
+ Plan a route
+ Route between points
+ You need to set working days to continueClosed OSM NoteGo-cartWheelchair forward
@@ -1394,7 +1391,7 @@
Add more…AppearanceTurn on quick recording
- Display a system notification allowing trip recording.
+ Display a system notification allowing to start trip recording.NotificationsResumeContinue
diff --git a/OsmAnd/src/net/osmand/aidl/OsmandAidlApi.java b/OsmAnd/src/net/osmand/aidl/OsmandAidlApi.java
index 96686c9956..583915f081 100644
--- a/OsmAnd/src/net/osmand/aidl/OsmandAidlApi.java
+++ b/OsmAnd/src/net/osmand/aidl/OsmandAidlApi.java
@@ -138,6 +138,7 @@ public class OsmandAidlApi {
private static final String AIDL_LATITUDE = "aidl_latitude";
private static final String AIDL_LONGITUDE = "aidl_longitude";
private static final String AIDL_ZOOM = "aidl_zoom";
+ private static final String AIDL_ROTATION = "aidl_rotation";
private static final String AIDL_ANIMATED = "aidl_animated";
private static final String AIDL_START_NAME = "aidl_start_name";
@@ -292,6 +293,7 @@ public class OsmandAidlApi {
double lon = intent.getDoubleExtra(AIDL_LONGITUDE, Double.NaN);
int zoom = intent.getIntExtra(AIDL_ZOOM, 0);
boolean animated = intent.getBooleanExtra(AIDL_ANIMATED, false);
+ float rotation = intent.getFloatExtra(AIDL_ROTATION, Float.NaN);
if (!Double.isNaN(lat) && !Double.isNaN(lon)) {
OsmandMapTileView mapView = mapActivity.getMapView();
if (zoom == 0) {
@@ -300,6 +302,9 @@ public class OsmandAidlApi {
zoom = zoom > mapView.getMaxZoom() ? mapView.getMaxZoom() : zoom;
zoom = zoom < mapView.getMinZoom() ? mapView.getMinZoom() : zoom;
}
+ if(!Float.isNaN(rotation)) {
+ mapView.setRotate(rotation, false);
+ }
if (animated) {
mapView.getAnimatedDraggingThread().startMoving(lat, lon, zoom, true);
} else {
@@ -1548,12 +1553,13 @@ public class OsmandAidlApi {
return false;
}
- boolean setMapLocation(double latitude, double longitude, int zoom, boolean animated) {
+ boolean setMapLocation(double latitude, double longitude, int zoom, float rotation, boolean animated) {
Intent intent = new Intent();
intent.setAction(AIDL_SET_MAP_LOCATION);
intent.putExtra(AIDL_LATITUDE, latitude);
intent.putExtra(AIDL_LONGITUDE, longitude);
intent.putExtra(AIDL_ZOOM, zoom);
+ intent.putExtra(AIDL_ROTATION, rotation);
intent.putExtra(AIDL_ANIMATED, animated);
app.sendBroadcast(intent);
return true;
diff --git a/OsmAnd/src/net/osmand/aidl/OsmandAidlService.java b/OsmAnd/src/net/osmand/aidl/OsmandAidlService.java
index 8763156abe..59e998cf56 100644
--- a/OsmAnd/src/net/osmand/aidl/OsmandAidlService.java
+++ b/OsmAnd/src/net/osmand/aidl/OsmandAidlService.java
@@ -597,7 +597,7 @@ public class OsmandAidlService extends Service implements AidlCallbackListener {
if (params != null) {
OsmandAidlApi api = getApi("setMapLocation");
return api != null && api.setMapLocation(params.getLatitude(), params.getLongitude(),
- params.getZoom(), params.isAnimated());
+ params.getZoom(), params.getRotation(), params.isAnimated());
}
return false;
} catch (Exception e) {
diff --git a/OsmAnd/src/net/osmand/aidl/OsmandAidlServiceV2.java b/OsmAnd/src/net/osmand/aidl/OsmandAidlServiceV2.java
index 1953e185fd..413eb1a68c 100644
--- a/OsmAnd/src/net/osmand/aidl/OsmandAidlServiceV2.java
+++ b/OsmAnd/src/net/osmand/aidl/OsmandAidlServiceV2.java
@@ -597,7 +597,7 @@ public class OsmandAidlServiceV2 extends Service implements AidlCallbackListener
if (params != null) {
OsmandAidlApi api = getApi("setMapLocation");
return api != null && api.setMapLocation(params.getLatitude(), params.getLongitude(),
- params.getZoom(), params.isAnimated());
+ params.getZoom(), params.getRotation(), params.isAnimated());
}
return false;
} catch (Exception e) {
diff --git a/OsmAnd/src/net/osmand/aidl/map/SetMapLocationParams.java b/OsmAnd/src/net/osmand/aidl/map/SetMapLocationParams.java
index 929c817d9d..788ac784c7 100644
--- a/OsmAnd/src/net/osmand/aidl/map/SetMapLocationParams.java
+++ b/OsmAnd/src/net/osmand/aidl/map/SetMapLocationParams.java
@@ -8,12 +8,15 @@ public class SetMapLocationParams implements Parcelable {
private double latitude;
private double longitude;
private int zoom;
+ private float rotation;
private boolean animated;
- public SetMapLocationParams(double latitude, double longitude, int zoom, boolean animated) {
+
+ public SetMapLocationParams(double latitude, double longitude, int zoom, float rotation, boolean animated) {
this.latitude = latitude;
this.longitude = longitude;
this.zoom = zoom;
+ this.rotation = rotation;
this.animated = animated;
}
@@ -44,6 +47,10 @@ public class SetMapLocationParams implements Parcelable {
return zoom;
}
+ public float getRotation() {
+ return rotation;
+ }
+
public boolean isAnimated() {
return animated;
}
@@ -53,6 +60,7 @@ public class SetMapLocationParams implements Parcelable {
out.writeDouble(longitude);
out.writeInt(zoom);
out.writeByte((byte) (animated ? 1 : 0));
+ out.writeFloat(rotation);
}
private void readFromParcel(Parcel in) {
@@ -60,6 +68,7 @@ public class SetMapLocationParams implements Parcelable {
longitude = in.readDouble();
zoom = in.readInt();
animated = in.readByte() != 0;
+ rotation = in.readFloat();
}
public int describeContents() {
diff --git a/OsmAnd/src/net/osmand/plus/activities/MapActivityActions.java b/OsmAnd/src/net/osmand/plus/activities/MapActivityActions.java
index 25c1b95601..273d69d831 100644
--- a/OsmAnd/src/net/osmand/plus/activities/MapActivityActions.java
+++ b/OsmAnd/src/net/osmand/plus/activities/MapActivityActions.java
@@ -1,6 +1,5 @@
package net.osmand.plus.activities;
-import android.Manifest;
import android.app.Activity;
import android.app.Dialog;
import android.content.DialogInterface;
@@ -21,7 +20,6 @@ import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AlertDialog;
-import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;
import net.osmand.AndroidUtils;
@@ -425,7 +423,7 @@ public class MapActivityActions implements DialogProvider {
}
adapter.addItem(itemBuilder
- .setTitleId(R.string.measurement_tool, mapActivity)
+ .setTitleId(R.string.plan_a_route, mapActivity)
.setId(MAP_CONTEXT_MENU_MEASURE_DISTANCE)
.setIcon(R.drawable.ic_action_ruler)
.setOrder(MEASURE_DISTANCE_ITEM_ORDER)
@@ -473,7 +471,7 @@ public class MapActivityActions implements DialogProvider {
// new String[]{Manifest.permission.ACCESS_FINE_LOCATION},
// REQUEST_LOCATION_FOR_DIRECTIONS_NAVIGATION_PERMISSION);
//}
- } else if (standardId == R.string.measurement_tool) {
+ } else if (standardId == R.string.plan_a_route) {
mapActivity.getContextMenu().close();
MeasurementToolFragment.showInstance(mapActivity.getSupportFragmentManager(), new LatLon(latitude, longitude));
} else if (standardId == R.string.avoid_road) {
@@ -932,7 +930,7 @@ public class MapActivityActions implements DialogProvider {
}
}).createItem());
- optionsMenuHelper.addItem(new ItemBuilder().setTitleId(R.string.measurement_tool, mapActivity)
+ optionsMenuHelper.addItem(new ItemBuilder().setTitleId(R.string.plan_a_route, mapActivity)
.setId(DRAWER_MEASURE_DISTANCE_ID)
.setIcon(R.drawable.ic_action_ruler)
.setListener(new ItemClickListener() {
diff --git a/OsmAnd/src/net/osmand/plus/measurementtool/MeasurementEditingContext.java b/OsmAnd/src/net/osmand/plus/measurementtool/MeasurementEditingContext.java
index 388cd91d72..f602fc4a2c 100644
--- a/OsmAnd/src/net/osmand/plus/measurementtool/MeasurementEditingContext.java
+++ b/OsmAnd/src/net/osmand/plus/measurementtool/MeasurementEditingContext.java
@@ -10,13 +10,14 @@ import net.osmand.GPXUtilities.TrkSegment;
import net.osmand.GPXUtilities.WptPt;
import net.osmand.Location;
import net.osmand.data.LatLon;
-import net.osmand.plus.settings.backend.ApplicationMode;
import net.osmand.plus.OsmandApplication;
import net.osmand.plus.measurementtool.command.MeasurementCommandManager;
import net.osmand.plus.routing.RouteCalculationParams;
import net.osmand.plus.routing.RouteCalculationResult;
import net.osmand.plus.routing.RoutingHelper;
+import net.osmand.plus.settings.backend.ApplicationMode;
import net.osmand.router.RouteCalculationProgress;
+import net.osmand.util.MapUtils;
import java.util.ArrayList;
import java.util.Arrays;
@@ -45,6 +46,7 @@ public class MeasurementEditingContext {
private boolean inSnapToRoadMode;
private boolean needUpdateCacheForSnap;
private int calculatedPairs;
+
private SnapToRoadProgressListener progressListener;
private ApplicationMode snapToRoadAppMode;
private RouteCalculationProgress calculationProgress;
@@ -112,12 +114,12 @@ public class MeasurementEditingContext {
this.progressListener = progressListener;
}
- ApplicationMode getSnapToRoadAppMode() {
+ public ApplicationMode getSnapToRoadAppMode() {
return snapToRoadAppMode;
}
void setSnapToRoadAppMode(ApplicationMode snapToRoadAppMode) {
- if (this.snapToRoadAppMode != null
+ if (this.snapToRoadAppMode != null && snapToRoadAppMode != null
&& !this.snapToRoadAppMode.getStringKey().equals(snapToRoadAppMode.getStringKey())) {
snappedToRoadPoints.clear();
updateCacheForSnapIfNeeded(true);
@@ -260,6 +262,54 @@ public class MeasurementEditingContext {
}
}
+ void addPoints() {
+ List points = getNewGpxData().getTrkSegment().points;
+ if (isSnapToRoadTrack()) {
+ List routePoints = getNewGpxData().getGpxFile().getRoutePoints();
+ int prevPointIndex = 0;
+ for (int i = 0; i < routePoints.size() - 1; i++) {
+ Pair pair = new Pair<>(routePoints.get(i), routePoints.get(i + 1));
+ int startIndex = pair.first.getTrkPtIndex();
+ if (startIndex < 0 || startIndex < prevPointIndex || startIndex >= points.size()) {
+ startIndex = findPointIndex(pair.first, points, prevPointIndex);
+ }
+ int endIndex = pair.second.getTrkPtIndex() + 1;
+ if (endIndex < 0 || endIndex < startIndex || endIndex >= points.size()) {
+ endIndex = findPointIndex(pair.second, points, startIndex);
+ }
+ if (startIndex >= 0 && endIndex >= 0) {
+ List cacheSegment = new ArrayList<>();
+ for (int j = startIndex; j < endIndex && j < points.size(); j++) {
+ cacheSegment.add(points.get(j));
+ prevPointIndex = j;
+ }
+ snappedToRoadPoints.put(pair, cacheSegment);
+ }
+ }
+ addPoints(routePoints);
+ } else {
+ addPoints(points);
+ }
+ }
+
+ private int findPointIndex(WptPt point, List points, int firstIndex) {
+ double minDistance = Double.MAX_VALUE;
+ int index = 0;
+ for (int i = Math.max(0, firstIndex); i < points.size(); i++) {
+ double distance = MapUtils.getDistance(point.lat, point.lon, points.get(i).lat, points.get(i).lon);
+ if (distance < minDistance) {
+ minDistance = distance;
+ index = i;
+ }
+ }
+ return index;
+ }
+
+ boolean isSnapToRoadTrack() {
+ return !getNewGpxData().getTrkSegment().points.isEmpty()
+ && !getNewGpxData().getGpxFile().getRoutePoints().isEmpty();
+ }
+
private void updateCacheForSnapIfNeeded(boolean both) {
if (needUpdateCacheForSnap) {
recreateCacheForSnap(beforeCacheForSnap = new TrkSegment(), before);
@@ -342,6 +392,9 @@ public class MeasurementEditingContext {
}
calculatedPairs++;
snappedToRoadPoints.put(currentPair, pts);
+ int trkptIndex = currentPair.first.getTrkPtIndex();
+ trkptIndex += pts.size() - 1;
+ currentPair.second.setTrkPtIndex(trkptIndex);
updateCacheForSnapIfNeeded(true);
application.runInUIThread(new Runnable() {
@Override
diff --git a/OsmAnd/src/net/osmand/plus/measurementtool/MeasurementToolFragment.java b/OsmAnd/src/net/osmand/plus/measurementtool/MeasurementToolFragment.java
index 9cdbbe1037..cb4492c4f4 100644
--- a/OsmAnd/src/net/osmand/plus/measurementtool/MeasurementToolFragment.java
+++ b/OsmAnd/src/net/osmand/plus/measurementtool/MeasurementToolFragment.java
@@ -1,6 +1,7 @@
package net.osmand.plus.measurementtool;
import android.annotation.SuppressLint;
+import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.DialogInterface;
@@ -36,8 +37,11 @@ import androidx.recyclerview.widget.ItemTouchHelper;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
+import com.google.android.material.snackbar.Snackbar;
+
import net.osmand.AndroidUtils;
import net.osmand.CallbackWithObject;
+import net.osmand.FileUtils;
import net.osmand.GPXUtilities;
import net.osmand.GPXUtilities.GPXFile;
import net.osmand.GPXUtilities.Route;
@@ -46,11 +50,9 @@ import net.osmand.GPXUtilities.TrkSegment;
import net.osmand.GPXUtilities.WptPt;
import net.osmand.IndexConstants;
import net.osmand.data.LatLon;
-import net.osmand.plus.settings.backend.ApplicationMode;
import net.osmand.plus.GpxSelectionHelper.SelectedGpxFile;
import net.osmand.plus.OsmAndFormatter;
import net.osmand.plus.OsmandApplication;
-import net.osmand.plus.settings.backend.OsmandSettings;
import net.osmand.plus.R;
import net.osmand.plus.UiUtilities;
import net.osmand.plus.Version;
@@ -71,6 +73,9 @@ import net.osmand.plus.measurementtool.command.ClearPointsCommand;
import net.osmand.plus.measurementtool.command.MovePointCommand;
import net.osmand.plus.measurementtool.command.RemovePointCommand;
import net.osmand.plus.measurementtool.command.ReorderPointCommand;
+import net.osmand.plus.settings.backend.ApplicationMode;
+import net.osmand.plus.settings.backend.OsmandSettings;
+import net.osmand.plus.views.MapControlsLayer;
import net.osmand.plus.views.controls.ReorderItemTouchHelperCallback;
import net.osmand.plus.views.mapwidgets.MapInfoWidgetsFactory;
import net.osmand.plus.views.mapwidgets.MapInfoWidgetsFactory.TopToolbarController;
@@ -107,6 +112,7 @@ public class MeasurementToolFragment extends BaseOsmAndFragment {
private ImageView undoBtn;
private ImageView redoBtn;
private ImageView mainIcon;
+ private Snackbar snackbar;
private boolean wasCollapseButtonVisible;
private boolean progressBarVisible;
@@ -220,7 +226,15 @@ public class MeasurementToolFragment extends BaseOsmAndFragment {
mainIcon = (ImageView) mainView.findViewById(R.id.main_icon);
final NewGpxData newGpxData = editingCtx.getNewGpxData();
- if (editingCtx.getNewGpxData() != null) {
+ if (newGpxData != null) {
+ List points = newGpxData.getGpxFile().getRoutePoints();
+ if (!points.isEmpty()) {
+ ApplicationMode snapToRoadAppMode = ApplicationMode
+ .valueOfStringKey(points.get(points.size() - 1).getProfileType(), null);
+ if (snapToRoadAppMode != null) {
+ enableSnapToRoadMode(snapToRoadAppMode);
+ }
+ }
ActionType actionType = newGpxData.getActionType();
if (actionType == ActionType.ADD_SEGMENT || actionType == ActionType.EDIT_SEGMENT) {
mainIcon.setImageDrawable(getActiveIcon(R.drawable.ic_action_polygom_dark));
@@ -298,7 +312,7 @@ public class MeasurementToolFragment extends BaseOsmAndFragment {
undoBtn = ((ImageButton) mainView.findViewById(R.id.undo_point_button));
redoBtn = ((ImageButton) mainView.findViewById(R.id.redo_point_button));
- Drawable undoDrawable = getContentIcon(R.drawable.ic_action_undo_dark);
+ Drawable undoDrawable = getActiveIcon(R.drawable.ic_action_undo_dark);
undoBtn.setImageDrawable(AndroidUtils.getDrawableForDirection(mapActivity, undoDrawable));
undoBtn.setOnClickListener(new View.OnClickListener() {
@Override
@@ -319,7 +333,7 @@ public class MeasurementToolFragment extends BaseOsmAndFragment {
}
});
- Drawable redoDrawable = getContentIcon(R.drawable.ic_action_redo_dark);
+ Drawable redoDrawable = getActiveIcon(R.drawable.ic_action_redo_dark);
redoBtn.setImageDrawable(AndroidUtils.getDrawableForDirection(mapActivity, redoDrawable));
redoBtn.setOnClickListener(new View.OnClickListener() {
@Override
@@ -369,7 +383,7 @@ public class MeasurementToolFragment extends BaseOsmAndFragment {
public void onMeasure(float distance, float bearing) {
String distStr = OsmAndFormatter.getFormattedDistance(distance, mapActivity.getMyApplication());
String azimuthStr = OsmAndFormatter.getFormattedAzimuth(bearing, getMyApplication());
- distanceToCenterTv.setText(String.format(" – %1$s • %2$s", distStr, azimuthStr));
+ distanceToCenterTv.setText(String.format("%1$s • %2$s", distStr, azimuthStr));
TextViewCompat.setAutoSizeTextTypeUniformWithConfiguration(
distanceToCenterTv, 12, 18, 2, TypedValue.COMPLEX_UNIT_SP
);
@@ -427,7 +441,7 @@ public class MeasurementToolFragment extends BaseOsmAndFragment {
if (editingCtx.getPointsCount() > 0) {
if (newGpxData != null && newGpxData.getActionType() == ActionType.EDIT_SEGMENT
&& editingCtx.isInSnapToRoadMode()) {
- if (mapActivity != null && measurementLayer != null) {
+ if (mapActivity != null) {
if (editingCtx.getPointsCount() > 0) {
openSaveAsNewTrackMenu(mapActivity);
} else {
@@ -435,7 +449,13 @@ public class MeasurementToolFragment extends BaseOsmAndFragment {
}
}
} else {
- addToGpx(mapActivity);
+ if (newGpxData == null) {
+ final File dir = mapActivity.getMyApplication().getAppPath(IndexConstants.GPX_INDEX_DIR);
+ String fileName = getSuggestedName(dir);
+ saveNewGpx(dir, fileName, true, SaveType.ROUTE_POINT, true);
+ } else {
+ addToGpx(mapActivity);
+ }
}
} else {
Toast.makeText(mapActivity, getString(R.string.none_point_error), Toast.LENGTH_SHORT).show();
@@ -467,9 +487,7 @@ public class MeasurementToolFragment extends BaseOsmAndFragment {
enterMeasurementMode();
- if (editingCtx.isInSnapToRoadMode()) {
- showSnapToRoadControls();
- }
+ showSnapToRoadControls();
if (newGpxData != null && !gpxPointsAdded) {
ActionType actionType = newGpxData.getActionType();
@@ -492,10 +510,13 @@ public class MeasurementToolFragment extends BaseOsmAndFragment {
@Override
public void onResume() {
super.onResume();
- getMapActivity().getMapLayers().getMapControlsLayer().showMapControlsIfHidden();
- cachedMapPosition = getMapActivity().getMapView().getMapPosition();
- setDefaultMapPosition();
- addInitialPoint();
+ MapActivity mapActivity = getMapActivity();
+ if (mapActivity != null) {
+ mapActivity.getMapLayers().getMapControlsLayer().showMapControlsIfHidden();
+ cachedMapPosition = mapActivity.getMapView().getMapPosition();
+ setDefaultMapPosition();
+ addInitialPoint();
+ }
}
@Override
@@ -525,8 +546,13 @@ public class MeasurementToolFragment extends BaseOsmAndFragment {
return R.color.status_bar_transparent_gradient;
}
+ @Nullable
private MapActivity getMapActivity() {
- return (MapActivity) getActivity();
+ Activity activity = getActivity();
+ if (activity instanceof MapActivity && !activity.isFinishing()) {
+ return (MapActivity) activity;
+ }
+ return null;
}
private MeasurementToolLayer getMeasurementLayer() {
@@ -560,10 +586,11 @@ public class MeasurementToolFragment extends BaseOsmAndFragment {
if (rememberPreviousTitle) {
previousToolBarTitle = toolBarController.getTitle();
}
- toolBarController.setTitle(getString(R.string.snap_to_road));
+ toolBarController.setTitle(getString(R.string.route_between_points));
mapActivity.refreshMap();
SnapToRoadBottomSheetDialogFragment fragment = new SnapToRoadBottomSheetDialogFragment();
fragment.setListener(createSnapToRoadFragmentListener());
+ fragment.setShowStraightLine(true);
fragment.show(mapActivity.getSupportFragmentManager(), SnapToRoadBottomSheetDialogFragment.TAG);
}
}
@@ -583,10 +610,24 @@ public class MeasurementToolFragment extends BaseOsmAndFragment {
}
}
+ @Override
+ public void directions() {
+ MapControlsLayer mapControlsLayer = mapActivity.getMapLayers().getMapControlsLayer();
+ if (mapControlsLayer != null) {
+ mapControlsLayer.doRoute(false);
+ }
+ }
+
@Override
public void addToGpxOnClick() {
if (mapActivity != null && measurementLayer != null) {
if (editingCtx.getPointsCount() > 0) {
+ if (editingCtx.isInSnapToRoadMode()) {
+ editingCtx.getPoints().clear();
+ editingCtx.getPoints().addAll(editingCtx.getBeforePoints());
+ editingCtx.getBeforePoints().clear();
+ editingCtx.getBeforePoints().addAll(editingCtx.getBeforeTrkSegmentLine().points);
+ }
addToGpx(mapActivity);
} else {
Toast.makeText(mapActivity, getString(R.string.none_point_error), Toast.LENGTH_SHORT).show();
@@ -713,7 +754,13 @@ public class MeasurementToolFragment extends BaseOsmAndFragment {
@Override
public void onApplicationModeItemClick(ApplicationMode mode) {
- enableSnapToRoadMode(mode);
+ if (mode == null) {
+ disableSnapToRoadMode();
+ editingCtx.setSnapToRoadAppMode(null);
+ showSnapToRoadControls();
+ } else {
+ enableSnapToRoadMode(mode);
+ }
}
};
}
@@ -721,6 +768,7 @@ public class MeasurementToolFragment extends BaseOsmAndFragment {
private void removePoint(MeasurementToolLayer layer, int position) {
editingCtx.getCommandManager().execute(new RemovePointCommand(layer, position));
adapter.notifyDataSetChanged();
+ enable(undoBtn);
disable(redoBtn);
updateText();
saved = false;
@@ -803,14 +851,16 @@ public class MeasurementToolFragment extends BaseOsmAndFragment {
private void showSnapToRoadControls() {
final MapActivity mapActivity = getMapActivity();
final ApplicationMode appMode = editingCtx.getSnapToRoadAppMode();
- if (mapActivity != null && appMode != null) {
- toolBarController.setTopBarSwitchVisible(true);
- toolBarController.setTopBarSwitchChecked(true);
- mainIcon.setImageDrawable(getActiveIcon(R.drawable.ic_action_snap_to_road));
-
+ if (mapActivity != null) {
+ Drawable icon;
+ if (appMode == null) {
+ icon = getActiveIcon(R.drawable.ic_action_split_interval);
+ } else {
+ icon = getIcon(appMode.getIconRes(), appMode.getIconColorInfo().getColor(nightMode));
+ }
ImageButton snapToRoadBtn = (ImageButton) mapActivity.findViewById(R.id.snap_to_road_image_button);
snapToRoadBtn.setBackgroundResource(nightMode ? R.drawable.btn_circle_night : R.drawable.btn_circle);
- snapToRoadBtn.setImageDrawable(getIcon(appMode.getIconRes(), appMode.getIconColorInfo().getColor(nightMode)));
+ snapToRoadBtn.setImageDrawable(icon);
snapToRoadBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
@@ -818,7 +868,6 @@ public class MeasurementToolFragment extends BaseOsmAndFragment {
}
});
snapToRoadBtn.setVisibility(View.VISIBLE);
-
mapActivity.refreshMap();
}
}
@@ -829,14 +878,25 @@ public class MeasurementToolFragment extends BaseOsmAndFragment {
mainIcon.setImageDrawable(getActiveIcon(R.drawable.ic_action_ruler));
editingCtx.setInSnapToRoadMode(false);
editingCtx.cancelSnapToRoad();
+ visibleSnapToRoadIcon(false);
MapActivity mapActivity = getMapActivity();
if (mapActivity != null) {
- mapActivity.findViewById(R.id.snap_to_road_image_button).setVisibility(View.GONE);
mainView.findViewById(R.id.snap_to_road_progress_bar).setVisibility(View.GONE);
mapActivity.refreshMap();
}
}
+ private void visibleSnapToRoadIcon(boolean show) {
+ MapActivity mapActivity = getMapActivity();
+ if (mapActivity != null) {
+ if (show) {
+ mapActivity.findViewById(R.id.snap_to_road_image_button).setVisibility(View.VISIBLE);
+ } else {
+ mapActivity.findViewById(R.id.snap_to_road_image_button).setVisibility(View.GONE);
+ }
+ }
+ }
+
private void displayRoutePoints() {
final MeasurementToolLayer measurementLayer = getMeasurementLayer();
@@ -851,11 +911,8 @@ public class MeasurementToolFragment extends BaseOsmAndFragment {
private void displaySegmentPoints() {
final MeasurementToolLayer measurementLayer = getMeasurementLayer();
-
- TrkSegment segment = editingCtx.getNewGpxData().getTrkSegment();
- List points = segment.points;
if (measurementLayer != null) {
- editingCtx.addPoints(points);
+ editingCtx.addPoints();
adapter.notifyDataSetChanged();
updateText();
}
@@ -898,6 +955,10 @@ public class MeasurementToolFragment extends BaseOsmAndFragment {
MeasurementToolLayer measurementLayer = getMeasurementLayer();
if (measurementLayer != null) {
WptPt newPoint = measurementLayer.getMovedPointToApply();
+ ApplicationMode applicationMode = editingCtx.getSnapToRoadAppMode();
+ if (applicationMode != null) {
+ newPoint.setProfileType(applicationMode.getStringKey());
+ }
WptPt oldPoint = editingCtx.getOriginalPointToMove();
int position = editingCtx.getSelectedPointPosition();
editingCtx.getCommandManager().execute(new MovePointCommand(measurementLayer, oldPoint, newPoint, position));
@@ -975,14 +1036,14 @@ public class MeasurementToolFragment extends BaseOsmAndFragment {
}
private void switchMovePointMode(boolean enable) {
- if (enable) {
- int navigationIconResId = AndroidUtils.getNavigationIconResId(getMapActivity());
- toolBarController.setBackBtnIconIds(navigationIconResId, navigationIconResId);
- } else {
- toolBarController.setBackBtnIconIds(R.drawable.ic_action_remove_dark, R.drawable.ic_action_remove_dark);
- }
MapActivity mapActivity = getMapActivity();
if (mapActivity != null) {
+ if (enable) {
+ int navigationIconResId = AndroidUtils.getNavigationIconResId(mapActivity);
+ toolBarController.setBackBtnIconIds(navigationIconResId, navigationIconResId);
+ } else {
+ toolBarController.setBackBtnIconIds(R.drawable.ic_action_remove_dark, R.drawable.ic_action_remove_dark);
+ }
mapActivity.showTopToolbar(toolBarController);
}
markGeneralComponents(enable ? View.GONE : View.VISIBLE);
@@ -995,14 +1056,14 @@ public class MeasurementToolFragment extends BaseOsmAndFragment {
}
private void switchAddPointBeforeAfterMode(boolean enable) {
- if (enable) {
- int navigationIconResId = AndroidUtils.getNavigationIconResId(getMapActivity());
- toolBarController.setBackBtnIconIds(navigationIconResId, navigationIconResId);
- } else {
- toolBarController.setBackBtnIconIds(R.drawable.ic_action_remove_dark, R.drawable.ic_action_remove_dark);
- }
MapActivity mapActivity = getMapActivity();
if (mapActivity != null) {
+ if (enable) {
+ int navigationIconResId = AndroidUtils.getNavigationIconResId(mapActivity);
+ toolBarController.setBackBtnIconIds(navigationIconResId, navigationIconResId);
+ } else {
+ toolBarController.setBackBtnIconIds(R.drawable.ic_action_remove_dark, R.drawable.ic_action_remove_dark);
+ }
mapActivity.showTopToolbar(toolBarController);
}
markGeneralComponents(enable ? View.GONE : View.VISIBLE);
@@ -1177,14 +1238,7 @@ public class MeasurementToolFragment extends BaseOsmAndFragment {
});
showOnMapToggle.setChecked(true);
- final String suggestedName = new SimpleDateFormat("yyyy-MM-dd_HH-mm_EEE", Locale.US).format(new Date());
- String displayedName = suggestedName;
- File fout = new File(dir, suggestedName + GPX_FILE_EXT);
- int ind = 1;
- while (fout.exists()) {
- displayedName = suggestedName + "_" + (++ind);
- fout = new File(dir, displayedName + GPX_FILE_EXT);
- }
+ String displayedName = getSuggestedName(dir);
nameEt.setText(displayedName);
nameEt.setSelection(displayedName.length());
final boolean[] textChanged = new boolean[1];
@@ -1243,8 +1297,20 @@ public class MeasurementToolFragment extends BaseOsmAndFragment {
}
}
- private void saveNewGpx(File dir, String fileName, boolean checked, SaveType saveType, boolean close) {
- saveGpx(dir, fileName, checked, null, false, null, saveType, close);
+ private String getSuggestedName(File dir) {
+ final String suggestedName = new SimpleDateFormat("yyyy-MM-dd_HH-mm_EEE", Locale.US).format(new Date());
+ String displayedName = suggestedName;
+ File fout = new File(dir, suggestedName + GPX_FILE_EXT);
+ int ind = 1;
+ while (fout.exists()) {
+ displayedName = suggestedName + "_" + (++ind);
+ fout = new File(dir, displayedName + GPX_FILE_EXT);
+ }
+ return displayedName;
+ }
+
+ private void saveNewGpx(File dir, String fileName, boolean showOnMap, SaveType saveType, boolean close) {
+ saveGpx(dir, fileName, showOnMap, null, false, null, saveType, close);
}
private void saveExistingGpx(GPXFile gpx, boolean showOnMap, ActionType actionType, boolean openTrackActivity) {
@@ -1309,6 +1375,7 @@ public class MeasurementToolFragment extends BaseOsmAndFragment {
editingCtx.exportRouteAsGpx(trackName, new MeasurementEditingContext.ExportAsGpxListener() {
@Override
public void onExportAsGpxFinished(GPXFile gpx) {
+ gpx.addRoutePoints(editingCtx.getPoints());
final Exception res = GPXUtilities.writeGpxFile(toSave, gpx);
gpx.path = toSave.getAbsolutePath();
OsmandApplication app = getMyApplication();
@@ -1393,27 +1460,43 @@ public class MeasurementToolFragment extends BaseOsmAndFragment {
}
private void onGpxSaved(Exception warning) {
- MapActivity activity = getMapActivity();
+ MapActivity mapActivity = getMapActivity();
+ if (mapActivity == null) {
+ return;
+ }
if (progressDialog != null && progressDialog.isShowing()) {
progressDialog.dismiss();
}
- if (activity != null) {
- activity.refreshMap();
- if (warning == null) {
- saved = true;
- if (openTrackActivity) {
- dismiss(activity);
+ mapActivity.refreshMap();
+ if (warning == null) {
+ saved = true;
+ if (openTrackActivity) {
+ dismiss(mapActivity);
+ } else {
+ if (close) {
+ snackbar = Snackbar.make(mapActivity.getLayout(),
+ MessageFormat.format(getString(R.string.gpx_saved_sucessfully), toSave.getName()),
+ Snackbar.LENGTH_LONG)
+ .setAction(R.string.shared_string_rename, new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ MapActivity mapActivity = getMapActivity();
+ if (mapActivity != null) {
+ FileUtils.renameFile(mapActivity, toSave, null);
+ }
+ }
+ });
+ UiUtilities.setupSnackbar(snackbar, nightMode);
+ snackbar.show();
+ dismiss(mapActivity);
} else {
- Toast.makeText(activity,
+ Toast.makeText(mapActivity,
MessageFormat.format(getString(R.string.gpx_saved_sucessfully), toSave.getAbsolutePath()),
Toast.LENGTH_LONG).show();
- if (close) {
- dismiss(activity);
- }
}
- } else {
- Toast.makeText(activity, warning.getMessage(), Toast.LENGTH_LONG).show();
}
+ } else {
+ Toast.makeText(mapActivity, warning.getMessage(), Toast.LENGTH_LONG).show();
}
}
}.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
@@ -1439,6 +1522,25 @@ public class MeasurementToolFragment extends BaseOsmAndFragment {
distanceTv.setText(measurementLayer.getDistanceSt() + ",");
pointsTv.setText((portrait ? pointsSt + ": " : "") + editingCtx.getPointsCount());
}
+ updateToolbar();
+ }
+
+ private void updateToolbar() {
+ MapActivity mapActivity = getMapActivity();
+ if (mapActivity == null) {
+ return;
+ }
+ if (editingCtx.getPointsCount() > 1) {
+ final File dir = mapActivity.getMyApplication().getAppPath(IndexConstants.GPX_INDEX_DIR);
+ toolBarController.setTitle(getSuggestedName(dir));
+ toolBarController.setDescription(getString(R.string.plan_route));
+ toolBarController.setSaveViewVisible(true);
+ } else {
+ toolBarController.setTitle(getString(R.string.measurement_tool_action_bar));
+ toolBarController.setDescription(null);
+ toolBarController.setSaveViewVisible(false);
+ }
+ mapActivity.showTopToolbar(toolBarController);
}
private void enterMeasurementMode() {
@@ -1594,6 +1696,8 @@ public class MeasurementToolFragment extends BaseOsmAndFragment {
}
if (editingCtx.isInSnapToRoadMode()) {
disableSnapToRoadMode();
+ } else {
+ visibleSnapToRoadIcon(false);
}
if (editingCtx.getNewGpxData() != null) {
GPXFile gpx = editingCtx.getNewGpxData().getGpxFile();
diff --git a/OsmAnd/src/net/osmand/plus/measurementtool/MeasurementToolLayer.java b/OsmAnd/src/net/osmand/plus/measurementtool/MeasurementToolLayer.java
index bd69a1f094..0d1666af86 100644
--- a/OsmAnd/src/net/osmand/plus/measurementtool/MeasurementToolLayer.java
+++ b/OsmAnd/src/net/osmand/plus/measurementtool/MeasurementToolLayer.java
@@ -7,15 +7,15 @@ import android.graphics.Paint;
import android.graphics.Path;
import android.graphics.PointF;
+import net.osmand.GPXUtilities.TrkSegment;
+import net.osmand.GPXUtilities.WptPt;
import net.osmand.Location;
import net.osmand.data.LatLon;
import net.osmand.data.PointDescription;
-import net.osmand.data.QuadPoint;
import net.osmand.data.RotatedTileBox;
-import net.osmand.GPXUtilities.TrkSegment;
-import net.osmand.GPXUtilities.WptPt;
import net.osmand.plus.OsmAndFormatter;
import net.osmand.plus.R;
+import net.osmand.plus.settings.backend.ApplicationMode;
import net.osmand.plus.views.ContextMenuLayer;
import net.osmand.plus.views.OsmandMapLayer;
import net.osmand.plus.views.OsmandMapTileView;
@@ -207,9 +207,9 @@ public class MeasurementToolLayer extends OsmandMapLayer implements ContextMenuL
WptPt lastPoint = editingCtx.getPoints().get(editingCtx.getPointsCount() - 1);
LatLon centerLatLon = tb.getCenterLatLon();
distance = (float) MapUtils.getDistance(
- lastPoint.lat, lastPoint.lon, centerLatLon.getLatitude(), centerLatLon.getLongitude());
+ lastPoint.lat, lastPoint.lon, centerLatLon.getLatitude(), centerLatLon.getLongitude());
bearing = getLocationFromLL(lastPoint.lat, lastPoint.lon)
- .bearingTo(getLocationFromLL(centerLatLon.getLatitude(), centerLatLon.getLongitude()));
+ .bearingTo(getLocationFromLL(centerLatLon.getLatitude(), centerLatLon.getLongitude()));
}
measureDistanceToCenterListener.onMeasure(distance, bearing);
}
@@ -231,13 +231,13 @@ public class MeasurementToolLayer extends OsmandMapLayer implements ContextMenuL
float locY = tb.getPixYFromLatLon(pt.lat, pt.lon);
tx.add(locX);
ty.add(locY);
- tx.add((float)tb.getCenterPixelX());
- ty.add((float)tb.getCenterPixelY());
+ tx.add((float) tb.getCenterPixelX());
+ ty.add((float) tb.getCenterPixelY());
}
if (after.points.size() > 0) {
if (before.points.size() == 0) {
- tx.add((float)tb.getCenterPixelX());
- ty.add((float)tb.getCenterPixelY());
+ tx.add((float) tb.getCenterPixelX());
+ ty.add((float) tb.getCenterPixelY());
}
WptPt pt = after.points.get(0);
float locX = tb.getPixXFromLatLon(pt.lat, pt.lon);
@@ -322,6 +322,11 @@ public class MeasurementToolLayer extends OsmandMapLayer implements ContextMenuL
pt.lon = l.getLongitude();
boolean allowed = editingCtx.getPointsCount() == 0 || !editingCtx.getPoints().get(editingCtx.getPointsCount() - 1).equals(pt);
if (allowed) {
+
+ ApplicationMode applicationMode = editingCtx.getSnapToRoadAppMode();
+ if (applicationMode != null) {
+ pt.setProfileType(applicationMode.getStringKey());
+ }
editingCtx.addPoint(pt);
return pt;
}
@@ -338,6 +343,10 @@ public class MeasurementToolLayer extends OsmandMapLayer implements ContextMenuL
pressedPointLatLon = null;
boolean allowed = editingCtx.getPointsCount() == 0 || !editingCtx.getPoints().get(editingCtx.getPointsCount() - 1).equals(pt);
if (allowed) {
+ ApplicationMode applicationMode = editingCtx.getSnapToRoadAppMode();
+ if (applicationMode != null) {
+ pt.setProfileType(applicationMode.getStringKey());
+ }
editingCtx.addPoint(pt);
moveMapToLatLon(lat, lon);
return pt;
diff --git a/OsmAnd/src/net/osmand/plus/measurementtool/OptionsBottomSheetDialogFragment.java b/OsmAnd/src/net/osmand/plus/measurementtool/OptionsBottomSheetDialogFragment.java
index 9d69604c40..9c6168767c 100644
--- a/OsmAnd/src/net/osmand/plus/measurementtool/OptionsBottomSheetDialogFragment.java
+++ b/OsmAnd/src/net/osmand/plus/measurementtool/OptionsBottomSheetDialogFragment.java
@@ -6,7 +6,7 @@ import android.view.View;
import net.osmand.plus.R;
import net.osmand.plus.base.MenuBottomSheetDialogFragment;
import net.osmand.plus.base.bottomsheetmenu.BaseBottomSheetItem;
-import net.osmand.plus.base.bottomsheetmenu.BottomSheetItemWithCompoundButton;
+import net.osmand.plus.base.bottomsheetmenu.BottomSheetItemWithDescription;
import net.osmand.plus.base.bottomsheetmenu.SimpleBottomSheetItem;
import net.osmand.plus.base.bottomsheetmenu.simpleitems.DividerHalfItem;
import net.osmand.plus.base.bottomsheetmenu.simpleitems.TitleItem;
@@ -27,19 +27,20 @@ public class OptionsBottomSheetDialogFragment extends MenuBottomSheetDialogFragm
@Override
public void createMenuItems(Bundle savedInstanceState) {
Bundle args = getArguments();
- boolean snapToRoadEnabled = args.getBoolean(SNAP_TO_ROAD_ENABLED_KEY);
- boolean addLineMode = args.getBoolean(ADD_LINE_MODE_KEY);
+ boolean snapToRoadEnabled = false;
+ boolean addLineMode = false;
+ if (args != null) {
+ snapToRoadEnabled = args.getBoolean(SNAP_TO_ROAD_ENABLED_KEY);
+ addLineMode = args.getBoolean(ADD_LINE_MODE_KEY);
+ }
items.add(new TitleItem(getString(R.string.shared_string_options)));
- BaseBottomSheetItem snapToRoadItem = new BottomSheetItemWithCompoundButton.Builder()
- .setChecked(snapToRoadEnabled)
- .setDescription(getString(snapToRoadEnabled ? R.string.shared_string_on : R.string.shared_string_off))
- .setIcon(snapToRoadEnabled
- ? getActiveIcon(R.drawable.ic_action_snap_to_road)
- : getContentIcon(R.drawable.ic_action_snap_to_road))
- .setTitle(getString(R.string.snap_to_road))
- .setLayoutId(R.layout.bottom_sheet_item_with_descr_and_switch_56dp)
+ BaseBottomSheetItem snapToRoadItem = new BottomSheetItemWithDescription.Builder()
+ .setDescription(getString(R.string.routing_profile_straightline))
+ .setIcon(getContentIcon(R.drawable.ic_action_split_interval))
+ .setTitle(getString(R.string.route_between_points))
+ .setLayoutId(R.layout.bottom_sheet_item_with_descr_56dp)
.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
@@ -54,6 +55,24 @@ public class OptionsBottomSheetDialogFragment extends MenuBottomSheetDialogFragm
items.add(new DividerHalfItem(getContext()));
+ BaseBottomSheetItem directions = new SimpleBottomSheetItem.Builder()
+ .setIcon(getContentIcon(R.drawable.ic_action_gdirections_dark))
+ .setTitle(getString(R.string.get_directions))
+ .setLayoutId(R.layout.bottom_sheet_item_simple)
+ .setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ if (listener != null) {
+ listener.directions();
+ }
+ dismiss();
+ }
+ })
+ .create();
+ items.add(directions);
+
+ items.add(new DividerHalfItem(getContext()));
+
if (addLineMode && !snapToRoadEnabled) {
BaseBottomSheetItem saveAsNewSegmentItem = new SimpleBottomSheetItem.Builder()
.setIcon(getContentIcon(R.drawable.ic_action_polygom_dark))
@@ -72,21 +91,7 @@ public class OptionsBottomSheetDialogFragment extends MenuBottomSheetDialogFragm
items.add(saveAsNewSegmentItem);
} else if (addLineMode) {
- BaseBottomSheetItem saveAsNewTrackItem = new SimpleBottomSheetItem.Builder()
- .setIcon(getContentIcon(R.drawable.ic_action_polygom_dark))
- .setTitle(getString(R.string.shared_string_save_as_gpx))
- .setLayoutId(R.layout.bottom_sheet_item_simple)
- .setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- if (listener != null) {
- listener.saveAsNewTrackOnClick();
- }
- dismiss();
- }
- })
- .create();
- items.add(saveAsNewTrackItem);
+ items.add(getSaveAsNewTrackItem());
BaseBottomSheetItem saveAsNewSegmentItem = new SimpleBottomSheetItem.Builder()
.setIcon(getContentIcon(R.drawable.ic_action_polygom_dark))
@@ -104,25 +109,11 @@ public class OptionsBottomSheetDialogFragment extends MenuBottomSheetDialogFragm
.create();
items.add(saveAsNewSegmentItem);
} else {
- BaseBottomSheetItem saveAsNewTrackItem = new SimpleBottomSheetItem.Builder()
- .setIcon(getContentIcon(R.drawable.ic_action_polygom_dark))
- .setTitle(getString(R.string.shared_string_save_as_gpx))
- .setLayoutId(R.layout.bottom_sheet_item_simple)
- .setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- if (listener != null) {
- listener.saveAsNewTrackOnClick();
- }
- dismiss();
- }
- })
- .create();
- items.add(saveAsNewTrackItem);
+ items.add(getSaveAsNewTrackItem());
BaseBottomSheetItem addToTrackItem = new SimpleBottomSheetItem.Builder()
.setIcon(getContentIcon(R.drawable.ic_action_split_interval))
- .setTitle(getString(R.string.add_segment_to_the_track))
+ .setTitle(getString(R.string.add_to_a_track))
.setLayoutId(R.layout.bottom_sheet_item_simple)
.setOnClickListener(new View.OnClickListener() {
@Override
@@ -156,6 +147,23 @@ public class OptionsBottomSheetDialogFragment extends MenuBottomSheetDialogFragm
items.add(clearAllItem);
}
+ private BaseBottomSheetItem getSaveAsNewTrackItem() {
+ return new SimpleBottomSheetItem.Builder()
+ .setIcon(getContentIcon(R.drawable.ic_action_save_to_file))
+ .setTitle(getString(R.string.edit_filter_save_as_menu_item))
+ .setLayoutId(R.layout.bottom_sheet_item_simple)
+ .setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ if (listener != null) {
+ listener.saveAsNewTrackOnClick();
+ }
+ dismiss();
+ }
+ })
+ .create();
+ }
+
@Override
protected int getDismissButtonTextId() {
return R.string.shared_string_close;
@@ -165,6 +173,8 @@ public class OptionsBottomSheetDialogFragment extends MenuBottomSheetDialogFragm
void snapToRoadOnCLick();
+ void directions();
+
void addToGpxOnClick();
void saveAsNewTrackOnClick();
diff --git a/OsmAnd/src/net/osmand/plus/measurementtool/SnapToRoadBottomSheetDialogFragment.java b/OsmAnd/src/net/osmand/plus/measurementtool/SnapToRoadBottomSheetDialogFragment.java
index 832bccd686..35f3bc47cd 100644
--- a/OsmAnd/src/net/osmand/plus/measurementtool/SnapToRoadBottomSheetDialogFragment.java
+++ b/OsmAnd/src/net/osmand/plus/measurementtool/SnapToRoadBottomSheetDialogFragment.java
@@ -2,6 +2,7 @@ package net.osmand.plus.measurementtool;
import android.app.Dialog;
import android.content.DialogInterface;
+import android.graphics.drawable.Drawable;
import android.view.ContextThemeWrapper;
import android.view.View;
import android.view.Window;
@@ -16,11 +17,12 @@ import com.google.android.material.bottomsheet.BottomSheetDialog;
import com.google.android.material.bottomsheet.BottomSheetDialogFragment;
import net.osmand.AndroidUtils;
-import net.osmand.plus.settings.backend.ApplicationMode;
import net.osmand.plus.OsmandApplication;
import net.osmand.plus.R;
+import net.osmand.plus.UiUtilities;
import net.osmand.plus.activities.MapActivity;
import net.osmand.plus.helpers.AndroidUiHelper;
+import net.osmand.plus.settings.backend.ApplicationMode;
import java.util.ArrayList;
import java.util.List;
@@ -28,12 +30,14 @@ import java.util.List;
public class SnapToRoadBottomSheetDialogFragment extends BottomSheetDialogFragment {
public static final String TAG = "SnapToRoadBottomSheetDialogFragment";
+ public static final int STRAIGHT_LINE_TAG = -1;
private SnapToRoadFragmentListener listener;
private boolean nightMode;
private boolean portrait;
private boolean snapToRoadEnabled;
private boolean removeDefaultMode = true;
+ private boolean showStraightLine = false;
public void setListener(SnapToRoadFragmentListener listener) {
this.listener = listener;
@@ -43,6 +47,10 @@ public class SnapToRoadBottomSheetDialogFragment extends BottomSheetDialogFragme
this.removeDefaultMode = removeDefaultMode;
}
+ public void setShowStraightLine(boolean showStraightLine) {
+ this.showStraightLine = showStraightLine;
+ }
+
@Override
public void setupDialog(Dialog dialog, int style) {
super.setupDialog(dialog, style);
@@ -77,23 +85,29 @@ public class SnapToRoadBottomSheetDialogFragment extends BottomSheetDialogFragme
View.OnClickListener onClickListener = new View.OnClickListener() {
@Override
public void onClick(View view) {
- snapToRoadEnabled = true;
+ snapToRoadEnabled = false;
if (listener != null) {
- listener.onApplicationModeItemClick(modes.get((int) view.getTag()));
+ ApplicationMode mode = null;
+ if ((int) view.getTag() != STRAIGHT_LINE_TAG) {
+ mode = modes.get((int) view.getTag());
+ snapToRoadEnabled = true;
+ }
+ listener.onApplicationModeItemClick(mode);
}
dismiss();
}
};
+ if (showStraightLine) {
+ Drawable icon = app.getUIUtilities().getIcon(R.drawable.ic_action_split_interval, nightMode);
+ addProfileView(container, onClickListener, STRAIGHT_LINE_TAG, icon,
+ app.getText(R.string.routing_profile_straightline));
+ }
+
for (int i = 0; i < modes.size(); i++) {
ApplicationMode mode = modes.get(i);
- View row = View.inflate(new ContextThemeWrapper(getContext(), themeRes), R.layout.list_item_icon_and_title, null);
- ((ImageView) row.findViewById(R.id.icon)).setImageDrawable(
- app.getUIUtilities().getIcon(mode.getIconRes(), mode.getIconColorInfo().getColor(nightMode)));
- ((TextView) row.findViewById(R.id.title)).setText(mode.toHumanString());
- row.setOnClickListener(onClickListener);
- row.setTag(i);
- container.addView(row);
+ Drawable icon = app.getUIUtilities().getIcon(mode.getIconRes(), mode.getIconColorInfo().getColor(nightMode));
+ addProfileView(container, onClickListener, i, icon, mode.toHumanString());
}
if (!portrait) {
@@ -111,6 +125,15 @@ public class SnapToRoadBottomSheetDialogFragment extends BottomSheetDialogFragme
((View) mainView.getParent()).setBackgroundResource(0);
}
+ private void addProfileView(LinearLayout container, View.OnClickListener onClickListener, Object tag, Drawable icon, CharSequence title) {
+ View row = UiUtilities.getInflater(getContext(), nightMode).inflate(R.layout.list_item_icon_and_title, null);
+ ((ImageView) row.findViewById(R.id.icon)).setImageDrawable(icon);
+ ((TextView) row.findViewById(R.id.title)).setText(title);
+ row.setOnClickListener(onClickListener);
+ row.setTag(tag);
+ container.addView(row);
+ }
+
@Override
public void onStart() {
super.onStart();
diff --git a/OsmAnd/src/net/osmand/plus/osmedit/AdvancedEditPoiFragment.java b/OsmAnd/src/net/osmand/plus/osmedit/AdvancedEditPoiFragment.java
index 3aba617bda..9d343a04c2 100644
--- a/OsmAnd/src/net/osmand/plus/osmedit/AdvancedEditPoiFragment.java
+++ b/OsmAnd/src/net/osmand/plus/osmedit/AdvancedEditPoiFragment.java
@@ -15,6 +15,7 @@ import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.Button;
+import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.LinearLayout;
import android.widget.TextView;
@@ -45,7 +46,8 @@ import java.util.Set;
import static net.osmand.plus.osmedit.EditPoiDialogFragment.AMENITY_TEXT_LENGTH;
public class AdvancedEditPoiFragment extends BaseOsmAndFragment
- implements EditPoiDialogFragment.OnFragmentActivatedListener {
+ implements EditPoiDialogFragment.OnFragmentActivatedListener,
+ EditPoiDialogFragment.OnSaveButtonClickListener {
private static final String TAG = "AdvancedEditPoiFragment";
private static final Log LOG = PlatformUtil.getLog(AdvancedEditPoiFragment.class);
@@ -55,6 +57,7 @@ public class AdvancedEditPoiFragment extends BaseOsmAndFragment
private TextView nameTextView;
private TextView amenityTagTextView;
private TextView amenityTextView;
+ private EditText currentTagEditText;
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
@@ -165,6 +168,13 @@ public class AdvancedEditPoiFragment extends BaseOsmAndFragment
}
}
+ @Override
+ public void onSaveButtonClick() {
+ if (currentTagEditText != null) {
+ currentTagEditText.clearFocus();
+ }
+ }
+
public class TagAdapterLinearLayoutHack {
private final LinearLayout linearLayout;
private final EditPoiData editPoiData;
@@ -241,6 +251,7 @@ public class AdvancedEditPoiFragment extends BaseOsmAndFragment
}
}
} else {
+ currentTagEditText = tagEditText;
tagAdapter.getFilter().filter(tagEditText.getText());
}
}
@@ -269,7 +280,6 @@ public class AdvancedEditPoiFragment extends BaseOsmAndFragment
initAutocompleteTextView(valueEditText, valueAdapter);
linearLayout.addView(convertView);
- tagEditText.requestFocus();
}
public void setTagData(String[] tags) {
diff --git a/OsmAnd/src/net/osmand/plus/osmedit/EditPoiDialogFragment.java b/OsmAnd/src/net/osmand/plus/osmedit/EditPoiDialogFragment.java
index 848fd77fd1..932ef59db5 100644
--- a/OsmAnd/src/net/osmand/plus/osmedit/EditPoiDialogFragment.java
+++ b/OsmAnd/src/net/osmand/plus/osmedit/EditPoiDialogFragment.java
@@ -113,6 +113,7 @@ public class EditPoiDialogFragment extends BaseOsmAndDialogFragment {
private EditPoiViewPager viewPager;
private AutoCompleteTextView poiTypeEditText;
+ private OnSaveButtonClickListener onSaveButtonClickListener;
private OpenstreetmapUtil mOpenstreetmapUtil;
private TextInputLayout poiTypeTextInputLayout;
private View view;
@@ -173,7 +174,13 @@ public class EditPoiDialogFragment extends BaseOsmAndDialogFragment {
@Override
public void onPageSelected(int i) {
- ((OnFragmentActivatedListener) pagerAdapter.getItem(i)).onFragmentActivated();
+ Fragment pageFragment = pagerAdapter.getItem(i);
+ ((OnFragmentActivatedListener) pageFragment).onFragmentActivated();
+ if (pageFragment instanceof OnSaveButtonClickListener) {
+ onSaveButtonClickListener = (OnSaveButtonClickListener) pageFragment;
+ } else {
+ onSaveButtonClickListener = null;
+ }
}
@Override
@@ -433,6 +440,9 @@ public class EditPoiDialogFragment extends BaseOsmAndDialogFragment {
}
private void trySave() {
+ if (onSaveButtonClickListener != null) {
+ onSaveButtonClickListener.onSaveButtonClick();
+ }
String tagWithExceedingValue = isTextLengthInRange();
if (!Algorithms.isEmpty(tagWithExceedingValue)){
ValueExceedLimitDialogFragment f = new ValueExceedLimitDialogFragment();
@@ -996,4 +1006,8 @@ public class EditPoiDialogFragment extends BaseOsmAndDialogFragment {
public interface OnFragmentActivatedListener {
void onFragmentActivated();
}
+
+ public interface OnSaveButtonClickListener {
+ void onSaveButtonClick();
+ }
}
diff --git a/OsmAnd/src/net/osmand/plus/osmedit/OpenstreetmapRemoteUtil.java b/OsmAnd/src/net/osmand/plus/osmedit/OpenstreetmapRemoteUtil.java
index 490870b518..3577987a8b 100644
--- a/OsmAnd/src/net/osmand/plus/osmedit/OpenstreetmapRemoteUtil.java
+++ b/OsmAnd/src/net/osmand/plus/osmedit/OpenstreetmapRemoteUtil.java
@@ -524,7 +524,12 @@ public class OpenstreetmapRemoteUtil implements OpenstreetmapUtil {
entity.removeTag(poiType.getEditOsmTag());
entity.putTagNoLC(EditPoiData.POI_TYPE_TAG, poiType.getTranslation());
} else {
- // later we could try to determine tags
+ for (PoiType pt : type.getPoiTypes()) {
+ if (pt.getEditOsmValue().equals(entity.getTag(pt.getEditOsmTag()))) {
+ entity.removeTag(pt.getEditOsmTag());
+ entity.putTagNoLC(EditPoiData.POI_TYPE_TAG, pt.getTranslation());
+ }
+ }
}
}
return entity;
diff --git a/OsmAnd/src/net/osmand/plus/osmedit/dialogs/OpeningHoursDaysDialogFragment.java b/OsmAnd/src/net/osmand/plus/osmedit/dialogs/OpeningHoursDaysDialogFragment.java
index 497ceb4735..5dd69ac2c7 100644
--- a/OsmAnd/src/net/osmand/plus/osmedit/dialogs/OpeningHoursDaysDialogFragment.java
+++ b/OsmAnd/src/net/osmand/plus/osmedit/dialogs/OpeningHoursDaysDialogFragment.java
@@ -4,6 +4,7 @@ import android.app.Dialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.text.format.DateFormat;
+import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AlertDialog;
@@ -57,21 +58,26 @@ public class OpeningHoursDaysDialogFragment extends DialogFragment {
}
});
- builder.setPositiveButton(createNew ? R.string.next_proceed
- : R.string.shared_string_save,
+ builder.setPositiveButton(createNew ? R.string.next_proceed : R.string.shared_string_save,
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
boolean[] days = item.getDays();
+ boolean activeDaysAvailable = false;
for (int i = 0; i < 7; i++) {
days[(first + 5 + i) % 7] = dayToShow[i];
+ activeDaysAvailable = activeDaysAvailable || dayToShow[i];
}
- if (createNew) {
- OpeningHoursHoursDialogFragment.createInstance(item, positionToAdd, true, 0)
- .show(getFragmentManager(), "TimePickerDialogFragment");
+ if (activeDaysAvailable) {
+ if (createNew) {
+ OpeningHoursHoursDialogFragment.createInstance(item, positionToAdd, true, 0)
+ .show(getFragmentManager(), "TimePickerDialogFragment");
+ } else {
+ ((BasicEditPoiFragment) getParentFragment())
+ .setBasicOpeningHoursRule(item, positionToAdd);
+ }
} else {
- ((BasicEditPoiFragment) getParentFragment())
- .setBasicOpeningHoursRule(item, positionToAdd);
+ Toast.makeText(getContext(), getString(R.string.set_working_days_to_continue), Toast.LENGTH_SHORT).show();
}
}
diff --git a/OsmAnd/src/net/osmand/plus/poi/PoiFiltersHelper.java b/OsmAnd/src/net/osmand/plus/poi/PoiFiltersHelper.java
index a67d5554a6..d586516fc5 100644
--- a/OsmAnd/src/net/osmand/plus/poi/PoiFiltersHelper.java
+++ b/OsmAnd/src/net/osmand/plus/poi/PoiFiltersHelper.java
@@ -812,7 +812,12 @@ public class PoiFiltersHelper {
String filterId = query.getString(0);
boolean deleted = query.getInt(3) == TRUE_INT;
if (map.containsKey(filterId) && (includeDeleted || !deleted)) {
- PoiUIFilter filter = new PoiUIFilter(query.getString(1), filterId,
+ String filterName = query.getString(1);
+ String translation = application.getPoiTypes().getPoiTranslation(filterName);
+ if(translation != null){
+ filterName = translation;
+ }
+ PoiUIFilter filter = new PoiUIFilter(filterName, filterId,
map.get(filterId), application);
filter.setSavedFilterByName(query.getString(2));
filter.setDeleted(deleted);
diff --git a/OsmAnd/src/net/osmand/plus/views/GPXLayer.java b/OsmAnd/src/net/osmand/plus/views/GPXLayer.java
index 8ad60d98a5..5a4fc50cc0 100644
--- a/OsmAnd/src/net/osmand/plus/views/GPXLayer.java
+++ b/OsmAnd/src/net/osmand/plus/views/GPXLayer.java
@@ -42,16 +42,15 @@ import net.osmand.plus.GpxSelectionHelper.SelectedGpxFile;
import net.osmand.plus.MapMarkersHelper;
import net.osmand.plus.MapMarkersHelper.MapMarker;
import net.osmand.plus.MapMarkersHelper.MapMarkersGroup;
+import net.osmand.plus.OsmandApplication;
import net.osmand.plus.R;
import net.osmand.plus.UiUtilities;
import net.osmand.plus.base.PointImageDrawable;
import net.osmand.plus.mapcontextmenu.controllers.SelectedGpxMenuController.SelectedGpxPoint;
import net.osmand.plus.mapcontextmenu.other.TrackChartPoints;
-import net.osmand.plus.myplaces.SaveGpxAsyncTask;
import net.osmand.plus.render.OsmandRenderer;
import net.osmand.plus.render.OsmandRenderer.RenderingContext;
import net.osmand.plus.settings.backend.OsmandSettings.CommonPreference;
-import net.osmand.plus.track.TrackDrawInfo;
import net.osmand.plus.views.ContextMenuLayer.IContextMenuProvider;
import net.osmand.plus.views.ContextMenuLayer.IMoveObjectProvider;
import net.osmand.plus.views.MapTextLayer.MapTextProvider;
@@ -63,6 +62,7 @@ import net.osmand.util.MapUtils;
import org.apache.commons.logging.Log;
+import java.io.File;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
@@ -94,7 +94,6 @@ public class GPXLayer extends OsmandMapLayer implements IContextMenuProvider, IM
private Drawable startPointIcon;
private Drawable finishPointIcon;
private LayerDrawable selectedPoint;
- private TrackDrawInfo trackDrawInfo;
private TrackChartPoints trackChartPoints;
private GpxSelectionHelper selectedGpxHelper;
@@ -142,14 +141,6 @@ public class GPXLayer extends OsmandMapLayer implements IContextMenuProvider, IM
this.trackChartPoints = trackChartPoints;
}
- public boolean isInTrackAppearanceMode() {
- return trackDrawInfo != null;
- }
-
- public void setTrackDrawInfo(TrackDrawInfo trackDrawInfo) {
- this.trackDrawInfo = trackDrawInfo;
- }
-
private void initUI() {
paint = new Paint();
paint.setStyle(Style.STROKE);
@@ -226,16 +217,17 @@ public class GPXLayer extends OsmandMapLayer implements IContextMenuProvider, IM
drawXAxisPoints(canvas, tileBox);
}
drawDirectionArrows(canvas, tileBox, selectedGPXFiles);
- drawSelectedFilesStartEndPoints(canvas, tileBox, selectedGPXFiles);
drawSelectedFilesSplits(canvas, tileBox, selectedGPXFiles, settings);
drawSelectedFilesPoints(canvas, tileBox, selectedGPXFiles);
+ drawSelectedFilesStartEndPoints(canvas, tileBox, selectedGPXFiles);
}
if (textLayer != null && isTextVisible()) {
textLayer.putData(this, cache);
}
+
}
- private void updatePaints(int color, String width, boolean routePoints, boolean currentTrack, DrawSettings drawSettings, RotatedTileBox tileBox) {
+ private int updatePaints(int color, String width, boolean routePoints, boolean currentTrack, DrawSettings drawSettings, RotatedTileBox tileBox) {
RenderingRulesStorage rrs = view.getApplication().getRendererRegistry().getCurrentSelectedRenderer();
boolean nightMode = drawSettings != null && drawSettings.isNightMode();
int hash = calculateHash(rrs, cachedTrackWidth, routePoints, nightMode, tileBox.getMapDensity(), tileBox.getZoom(),
@@ -299,6 +291,7 @@ public class GPXLayer extends OsmandMapLayer implements IContextMenuProvider, IM
if (strikeWidth != null) {
paint.setStrokeWidth(strikeWidth);
}
+ return cachedColor;
}
private void acquireTrackWidth(String widthKey, RenderingRulesStorage rrs, RenderingRuleSearchRequest req, RenderingContext rc) {
@@ -345,8 +338,8 @@ public class GPXLayer extends OsmandMapLayer implements IContextMenuProvider, IM
paintInnerRect.setColor(color);
paintInnerRect.setAlpha(179);
- paintTextIcon.setColor(UiUtilities.getContrastColor(view.getApplication(), color, false));
- paintOuterRect.setColor(UiUtilities.getContrastColor(view.getApplication(), color, false));
+ paintTextIcon.setColor(txtlabelColor(color));
+ paintOuterRect.setColor(txtlabelColor(color));
List items = groups.get(0).getModifiableList();
@@ -356,6 +349,14 @@ public class GPXLayer extends OsmandMapLayer implements IContextMenuProvider, IM
}
}
+ private int txtlabelColor(int color) {
+ //Hardy, 2020-03-16: Contrast logic for text labels on tracks
+ if (((int) Color.red(color) * .299 + Color.green(color) * .587 + Color.blue(color) * .114) > 149) {
+ return Color.BLACK;
+ }
+ return Color.WHITE;
+ }
+
private void drawSplitItems(Canvas canvas, RotatedTileBox tileBox, List items, DrawSettings settings) {
final QuadRect latLonBounds = tileBox.getLatLonBounds();
int r = (int) (12 * tileBox.getDensity());
@@ -402,20 +403,15 @@ public class GPXLayer extends OsmandMapLayer implements IContextMenuProvider, IM
}
private void drawDirectionArrows(Canvas canvas, RotatedTileBox tileBox, List selectedGPXFiles) {
- if (tileBox.getZoom() >= START_ZOOM && !tileBox.isZoomAnimated()) {
+ if (!tileBox.isZoomAnimated()) {
for (SelectedGpxFile selectedGpxFile : selectedGPXFiles) {
boolean showArrows = selectedGpxFile.getGpxFile().isShowArrows();
- if (hasTrackDrawInfoForSelectedGpx(selectedGpxFile)) {
- showArrows = trackDrawInfo.isShowArrows();
- }
if (showArrows) {
+ QuadRect correctedQuadRect = getCorrectedQuadRect(tileBox.getLatLonBounds());
int color = selectedGpxFile.getGpxFile().getColor(cachedColor);
if (selectedGpxFile.isShowCurrentTrack()) {
color = currentTrackColor;
}
- if (hasTrackDrawInfoForSelectedGpx(selectedGpxFile)) {
- color = trackDrawInfo.getColor();
- }
int contrastColor = UiUtilities.getContrastColor(view.getApplication(), color, false);
GeometryWayStyle arrowsWayStyle = new GeometryArrowsWayStyle(wayContext, contrastColor);
for (TrkSegment segment : selectedGpxFile.getPointsToDisplay()) {
@@ -423,44 +419,32 @@ public class GPXLayer extends OsmandMapLayer implements IContextMenuProvider, IM
List ty = new ArrayList<>();
List distances = new ArrayList<>();
List angles = new ArrayList<>();
+ List styles = new ArrayList<>();
+ boolean previousVisible = false;
List points = segment.points;
if (points.size() > 1) {
for (int i = 0; i < points.size(); i++) {
WptPt pt = points.get(i);
- addLocation(tileBox, pt, tx, ty, angles, distances);
+ if (correctedQuadRect.left <= pt.getLongitude()
+ && pt.getLongitude() <= correctedQuadRect.right
+ && correctedQuadRect.bottom <= pt.getLatitude()
+ && pt.getLatitude() <= correctedQuadRect.top) {
+ addLocation(tileBox, pt.getLatitude(), pt.getLongitude(), null, tx, ty, angles, distances, 0, styles);
+ previousVisible = true;
+ } else if (previousVisible) {
+ addLocation(tileBox, pt.getLatitude(), pt.getLongitude(), null, tx, ty, angles, distances, 0, styles);
+ previousVisible = false;
+ }
}
+ drawArrowsOverPath(tx, ty, angles, distances, canvas, tileBox, arrowsWayStyle);
}
- drawArrowsOverPath(tx, ty, angles, distances, canvas, tileBox, arrowsWayStyle);
}
}
}
}
}
- private void addLocation(RotatedTileBox tb, WptPt pt, List tx, List ty,
- List angles, List distances) {
- float x = tb.getPixXFromLatLon(pt.getLatitude(), pt.getLongitude());
- float y = tb.getPixYFromLatLon(pt.getLatitude(), pt.getLongitude());
- float px = x;
- float py = y;
- int previous = tx.size() - 1;
- if (previous >= 0) {
- px = tx.get(previous);
- py = ty.get(previous);
- }
- double angle = 0;
- if (px != x || py != y) {
- double angleRad = Math.atan2(y - py, x - px);
- angle = (angleRad * 180 / Math.PI) + 90f;
- }
- double distSegment = Math.sqrt((y - py) * (y - py) + (x - px) * (x - px));
- tx.add(x);
- ty.add(y);
- angles.add(angle);
- distances.add(distSegment);
- }
-
private void drawArrowsOverPath(List tx, List ty, List angles, List distances,
Canvas canvas, RotatedTileBox tb, GeometryWayStyle wayStyle) {
int pixHeight = tb.getPixHeight();
@@ -474,7 +458,7 @@ public class GPXLayer extends OsmandMapLayer implements IContextMenuProvider, IM
double pxStep = arrowBitmap.getHeight() * 4f * zoomCoef;
double dist = 0;
- List arrows = new ArrayList<>();
+ List arrows = new ArrayList<>();
for (int i = tx.size() - 2; i >= 0; i--) {
float px = tx.get(i);
float py = ty.get(i);
@@ -496,14 +480,14 @@ public class GPXLayer extends OsmandMapLayer implements IContextMenuProvider, IM
float iconx = (float) (px + pdx);
float icony = (float) (py + pdy);
if (isIn(iconx, icony, left, top, right, bottom)) {
- arrows.add(new RouteLayer.PathPoint(iconx, icony, angle, wayStyle));
+ arrows.add(new PathPoint(iconx, icony, angle, wayStyle));
}
dist -= pxStep;
percent -= pxStep / distSegment;
}
}
for (int i = arrows.size() - 1; i >= 0; i--) {
- RouteLayer.PathPoint a = arrows.get(i);
+ PathPoint a = arrows.get(i);
a.draw(canvas, wayContext);
}
}
@@ -542,30 +526,20 @@ public class GPXLayer extends OsmandMapLayer implements IContextMenuProvider, IM
private void drawSelectedFilesStartEndPoints(Canvas canvas, RotatedTileBox tileBox, List selectedGPXFiles) {
if (tileBox.getZoom() >= START_ZOOM) {
for (SelectedGpxFile selectedGpxFile : selectedGPXFiles) {
- boolean showStartFinish = selectedGpxFile.getGpxFile().isShowStartFinish();
- if (hasTrackDrawInfoForSelectedGpx(selectedGpxFile)) {
- showStartFinish = trackDrawInfo.isShowStartFinish();
- }
- if (showStartFinish) {
+ if (selectedGpxFile.getGpxFile().isShowStartFinish()) {
List segments = selectedGpxFile.getPointsToDisplay();
- for (TrkSegment segment : segments) {
- if (segment.points.size() >= 2) {
- WptPt start = segment.points.get(0);
- WptPt end = segment.points.get(segment.points.size() - 1);
+ TrkSegment endSegment = segments.get(segments.size() - 1);
- drawPoint(canvas, tileBox, start, startPointIcon);
- drawPoint(canvas, tileBox, end, finishPointIcon);
- }
- }
+ WptPt start = segments.get(0).points.get(0);
+ WptPt end = endSegment.points.get(endSegment.points.size() - 1);
+
+ drawPoint(canvas, tileBox, start, startPointIcon);
+ drawPoint(canvas, tileBox, end, finishPointIcon);
}
}
}
}
- private boolean hasTrackDrawInfoForSelectedGpx(SelectedGpxFile selectedGpxFile) {
- return trackDrawInfo != null && trackDrawInfo.getFilePath().equals(selectedGpxFile.getGpxFile().path);
- }
-
private void drawPoint(Canvas canvas, RotatedTileBox tileBox, WptPt wptPt, Drawable icon) {
int pointX = (int) tileBox.getPixXFromLatLon(wptPt.lat, wptPt.lon);
int pointY = (int) tileBox.getPixYFromLatLon(wptPt.lat, wptPt.lon);
@@ -729,9 +703,6 @@ public class GPXLayer extends OsmandMapLayer implements IContextMenuProvider, IM
List selectedGPXFiles, DrawSettings settings) {
for (SelectedGpxFile selectedGpxFile : selectedGPXFiles) {
String width = selectedGpxFile.getGpxFile().getWidth(currentTrackWidthPref.get());
- if (hasTrackDrawInfoForSelectedGpx(selectedGpxFile)) {
- width = trackDrawInfo.getWidth();
- }
if (!cachedTrackWidth.containsKey(width)) {
cachedTrackWidth.put(width, null);
}
@@ -761,10 +732,6 @@ public class GPXLayer extends OsmandMapLayer implements IContextMenuProvider, IM
if (color == 0) {
color = ts.getColor(cachedColor);
}
- if (hasTrackDrawInfoForSelectedGpx(selectedGpxFile)) {
- color = trackDrawInfo.getColor();
- width = trackDrawInfo.getWidth();
- }
if (ts.renderer == null && !ts.points.isEmpty()) {
if (currentTrack) {
ts.renderer = new Renderable.CurrentTrack(ts.points);
@@ -1043,9 +1010,10 @@ public class GPXLayer extends OsmandMapLayer implements IContextMenuProvider, IM
@Override
public void applyNewObjectPosition(@NonNull Object o,
@NonNull LatLon position,
- @Nullable final ContextMenuLayer.ApplyMovedObjectCallback callback) {
+ @Nullable ContextMenuLayer.ApplyMovedObjectCallback callback) {
+
if (o instanceof WptPt) {
- final WptPt objectInMotion = (WptPt) o;
+ WptPt objectInMotion = (WptPt) o;
SelectedGpxFile selectedGpxFile = pointFileMap.get(objectInMotion);
if (selectedGpxFile != null) {
GPXFile gpxFile = selectedGpxFile.getGpxFile();
@@ -1059,20 +1027,7 @@ public class GPXLayer extends OsmandMapLayer implements IContextMenuProvider, IM
callback.onApplyMovedObject(true, objectInMotion);
}
} else {
- new SaveGpxAsyncTask(gpxFile, new SaveGpxAsyncTask.SaveGpxListener() {
-
- @Override
- public void gpxSavingStarted() {
-
- }
-
- @Override
- public void gpxSavingFinished(Exception errorMessage) {
- if (callback != null) {
- callback.onApplyMovedObject(errorMessage == null, objectInMotion);
- }
- }
- }).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
+ new SaveGpxFileAsyncTask(view.getApplication(), callback, objectInMotion).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, gpxFile);
}
}
} else if (callback != null) {
@@ -1086,4 +1041,33 @@ public class GPXLayer extends OsmandMapLayer implements IContextMenuProvider, IM
mapMarkersHelper.runSynchronization(group);
}
}
-}
\ No newline at end of file
+
+ static class SaveGpxFileAsyncTask extends AsyncTask {
+ private final OsmandApplication app;
+ @Nullable
+ private final ContextMenuLayer.ApplyMovedObjectCallback callback;
+ @Nullable
+ private final WptPt point;
+
+ SaveGpxFileAsyncTask(OsmandApplication app,
+ @Nullable ContextMenuLayer.ApplyMovedObjectCallback callback,
+ @Nullable WptPt point) {
+ this.app = app;
+ this.callback = callback;
+ this.point = point;
+ }
+
+ @Override
+ protected Exception doInBackground(GPXFile... params) {
+ GPXFile gpxFile = params[0];
+ return GPXUtilities.writeGpxFile(new File(gpxFile.path), gpxFile);
+ }
+
+ @Override
+ protected void onPostExecute(Exception errorMessage) {
+ if (callback != null) {
+ callback.onApplyMovedObject(errorMessage == null, point);
+ }
+ }
+ }
+}
diff --git a/OsmAnd/src/net/osmand/plus/views/OsmandMapLayer.java b/OsmAnd/src/net/osmand/plus/views/OsmandMapLayer.java
index 700cb9a7a2..462927e0cd 100644
--- a/OsmAnd/src/net/osmand/plus/views/OsmandMapLayer.java
+++ b/OsmAnd/src/net/osmand/plus/views/OsmandMapLayer.java
@@ -6,6 +6,7 @@ import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.ColorFilter;
+import android.graphics.Matrix;
import android.graphics.Paint;
import android.graphics.Paint.Cap;
import android.graphics.Paint.Join;
@@ -470,6 +471,80 @@ public abstract class OsmandMapLayer {
}
}
+ public static class PathPoint {
+ float x;
+ float y;
+ double angle;
+ GeometryWayStyle style;
+
+ private Matrix matrix = new Matrix();
+
+ PathPoint(float x, float y, double angle, GeometryWayStyle style) {
+ this.x = x;
+ this.y = y;
+ this.angle = angle;
+ this.style = style;
+ }
+
+ protected Matrix getMatrix() {
+ return matrix;
+ }
+
+ void draw(Canvas canvas, GeometryWayContext context) {
+ if (style != null && style.getPointBitmap() != null) {
+ Bitmap bitmap = style.getPointBitmap();
+ Integer pointColor = style.getPointColor();
+ float paintH2 = bitmap.getHeight() / 2f;
+ float paintW2 = bitmap.getWidth() / 2f;
+
+ matrix.reset();
+ matrix.postRotate((float) angle, paintW2, paintH2);
+ matrix.postTranslate(x - paintW2, y - paintH2);
+ if (pointColor != null) {
+ Paint paint = context.getPaintIconCustom();
+ paint.setColorFilter(new PorterDuffColorFilter(pointColor, Mode.SRC_IN));
+ canvas.drawBitmap(bitmap, matrix, paint);
+ } else {
+ if (style.hasPaintedPointBitmap()) {
+ Paint paint = context.getPaintIconCustom();
+ paint.setColorFilter(null);
+ canvas.drawBitmap(bitmap, matrix, paint);
+ } else {
+ canvas.drawBitmap(bitmap, matrix, context.getPaintIcon());
+ }
+ }
+ }
+ }
+ }
+
+ protected void addLocation(RotatedTileBox tb, double latitude, double longitude, GeometryWayStyle style,
+ List tx, List ty, List angles, List distances,
+ double dist, List styles) {
+ float x = tb.getPixXFromLatLon(latitude, longitude);
+ float y = tb.getPixYFromLatLon(latitude, longitude);
+ float px = x;
+ float py = y;
+ int previous = tx.size() - 1;
+ if (previous >= 0) {
+ px = tx.get(previous);
+ py = ty.get(previous);
+ }
+ double angle = 0;
+ if (px != x || py != y) {
+ double angleRad = Math.atan2(y - py, x - px);
+ angle = (angleRad * 180 / Math.PI) + 90f;
+ }
+ double distSegment = Math.sqrt((y - py) * (y - py) + (x - px) * (x - px));
+ if (dist != 0) {
+ distSegment = dist;
+ }
+ tx.add(x);
+ ty.add(y);
+ angles.add(angle);
+ distances.add(distSegment);
+ styles.add(style);
+ }
+
public int calculatePath(RotatedTileBox tb, List xs, List ys, List styles, List> paths) {
boolean segmentStarted = false;
float prevX = xs.get(0);
@@ -561,6 +636,20 @@ public abstract class OsmandMapLayer {
return false;
}
+ public QuadRect getCorrectedQuadRect(QuadRect latlonRect) {
+ double topLatitude = latlonRect.top;
+ double leftLongitude = latlonRect.left;
+ double bottomLatitude = latlonRect.bottom;
+ double rightLongitude = latlonRect.right;
+ // double lat = 0;
+ // double lon = 0;
+ // this is buggy lat/lon should be 0 but in that case
+ // it needs to be fixed in case there is no route points in the view bbox
+ double lat = topLatitude - bottomLatitude + 0.1;
+ double lon = rightLongitude - leftLongitude + 0.1;
+ return new QuadRect(leftLongitude - lon, topLatitude + lat, rightLongitude + lon, bottomLatitude - lat);
+ }
+
public QuadRect calculateRect(float x, float y, float width, float height) {
QuadRect rf;
double left = x - width / 2.0d;
diff --git a/OsmAnd/src/net/osmand/plus/views/RouteLayer.java b/OsmAnd/src/net/osmand/plus/views/RouteLayer.java
index 2df86bbaac..299d9d01a1 100644
--- a/OsmAnd/src/net/osmand/plus/views/RouteLayer.java
+++ b/OsmAnd/src/net/osmand/plus/views/RouteLayer.java
@@ -186,17 +186,8 @@ public class RouteLayer extends OsmandMapLayer implements ContextMenuLayer.ICont
}
final QuadRect latlonRect = cp.getLatLonBounds();
- double topLatitude = latlonRect.top;
- double leftLongitude = latlonRect.left;
- double bottomLatitude = latlonRect.bottom;
- double rightLongitude = latlonRect.right;
- // double lat = 0;
- // double lon = 0;
- // this is buggy lat/lon should be 0 but in that case
- // it needs to be fixed in case there is no route points in the view bbox
- double lat = topLatitude - bottomLatitude + 0.1;
- double lon = rightLongitude - leftLongitude + 0.1;
- drawLocations(tileBox, canvas, topLatitude + lat, leftLongitude - lon, bottomLatitude - lat, rightLongitude + lon);
+ final QuadRect correctedQuadRect = getCorrectedQuadRect(latlonRect);
+ drawLocations(tileBox, canvas, correctedQuadRect.top, correctedQuadRect.left, correctedQuadRect.bottom, correctedQuadRect.right);
if (trackChartPoints != null) {
canvas.rotate(-tileBox.getRotate(), tileBox.getCenterPixelX(), tileBox.getCenterPixelY());
@@ -372,52 +363,6 @@ public class RouteLayer extends OsmandMapLayer implements ContextMenuLayer.ICont
}
}
- static class PathPoint {
- float x;
- float y;
- double angle;
- GeometryWayStyle style;
-
- private Matrix matrix = new Matrix();
-
- PathPoint(float x, float y, double angle, GeometryWayStyle style) {
- this.x = x;
- this.y = y;
- this.angle = angle;
- this.style = style;
- }
-
- protected Matrix getMatrix() {
- return matrix;
- }
-
- void draw(Canvas canvas, GeometryWayContext context) {
- if (style != null && style.getPointBitmap() != null) {
- Bitmap bitmap = style.getPointBitmap();
- Integer pointColor = style.getPointColor();
- float paintH2 = bitmap.getHeight() / 2f;
- float paintW2 = bitmap.getWidth() / 2f;
-
- matrix.reset();
- matrix.postRotate((float) angle, paintW2, paintH2);
- matrix.postTranslate(x - paintW2, y - paintH2);
- if (pointColor != null) {
- Paint paint = context.getPaintIconCustom();
- paint.setColorFilter(new PorterDuffColorFilter(pointColor, Mode.SRC_IN));
- canvas.drawBitmap(bitmap, matrix, paint);
- } else {
- if (style.hasPaintedPointBitmap()) {
- Paint paint = context.getPaintIconCustom();
- paint.setColorFilter(null);
- canvas.drawBitmap(bitmap, matrix, paint);
- } else {
- canvas.drawBitmap(bitmap, matrix, context.getPaintIcon());
- }
- }
- }
- }
- }
-
private static class PathAnchor extends PathPoint {
PathAnchor(float x, float y, GeometryAnchorWayStyle style) {
super(x, y, 0, style);
@@ -1003,14 +948,14 @@ public class RouteLayer extends OsmandMapLayer implements ContextMenuLayer.ICont
} else if (lastProjection != null) {
lt = lastProjection;
}
- if(lt != null) {
- addLocation(tb, lt, style, tx, ty, angles, distances, 0, styles); // first point
+ if (lt != null) {
+ addLocation(tb, lt.getLatitude(), lt.getLongitude(), style, tx, ty, angles, distances, 0, styles); // first point
}
}
- addLocation(tb, ls, style, tx, ty, angles, distances, dist, styles);
+ addLocation(tb, ls.getLatitude(), ls.getLongitude(), style, tx, ty, angles, distances, dist, styles);
previousVisible = true;
} else if (previousVisible) {
- addLocation(tb, ls, style, tx, ty, angles, distances, previous == -1 ? 0 : odistances.get(i), styles);
+ addLocation(tb, ls.getLatitude(), ls.getLongitude(), style, tx, ty, angles, distances, previous == -1 ? 0 : odistances.get(i), styles);
double distToFinish = 0;
for(int ki = i + 1; ki < odistances.size(); ki++) {
distToFinish += odistances.get(ki);
@@ -1027,7 +972,7 @@ public class RouteLayer extends OsmandMapLayer implements ContextMenuLayer.ICont
private boolean addPoint(RotatedTileBox tb, double topLatitude, double leftLongitude, double bottomLatitude, double rightLongitude, GeometryWayStyle style, boolean previousVisible, Location lastPoint) {
if (leftLongitude <= lastPoint .getLongitude() && lastPoint .getLongitude() <= rightLongitude
&& bottomLatitude <= lastPoint .getLatitude() && lastPoint .getLatitude() <= topLatitude) {
- addLocation(tb, lastPoint, style, tx, ty, angles, distances, 0, styles);
+ addLocation(tb, lastPoint.getLatitude(), lastPoint.getLongitude(), style, tx, ty, angles, distances, 0, styles);
previousVisible = true;
}
return previousVisible;
@@ -1040,33 +985,6 @@ public class RouteLayer extends OsmandMapLayer implements ContextMenuLayer.ICont
angles.clear();
styles.clear();
}
-
- private void addLocation(RotatedTileBox tb, Location ls, GeometryWayStyle style, List tx, List ty,
- List angles, List distances, double dist, List styles) {
- float x = tb.getPixXFromLatLon(ls.getLatitude(), ls.getLongitude());
- float y = tb.getPixYFromLatLon(ls.getLatitude(), ls.getLongitude());
- float px = x;
- float py = y;
- int previous = tx.size() - 1;
- if (previous >= 0 && previous < tx.size()) {
- px = tx.get(previous);
- py = ty.get(previous);
- }
- double angle = 0;
- if (px != x || py != y) {
- double angleRad = Math.atan2(y - py, x - px);
- angle = (angleRad * 180 / Math.PI) + 90f;
- }
- double distSegment = Math.sqrt((y - py) * (y - py) + (x - px) * (x - px));
- if(dist != 0) {
- distSegment = dist;
- }
- tx.add(x);
- ty.add(y);
- angles.add(angle);
- distances.add(distSegment);
- styles.add(style);
- }
}
private RouteSimplificationGeometry routeGeometry = new RouteSimplificationGeometry();
diff --git a/OsmAnd/src/net/osmand/plus/views/mapwidgets/MapInfoWidgetsFactory.java b/OsmAnd/src/net/osmand/plus/views/mapwidgets/MapInfoWidgetsFactory.java
index 978525ac5f..5b209060f5 100644
--- a/OsmAnd/src/net/osmand/plus/views/mapwidgets/MapInfoWidgetsFactory.java
+++ b/OsmAnd/src/net/osmand/plus/views/mapwidgets/MapInfoWidgetsFactory.java
@@ -1022,7 +1022,7 @@ public class MapInfoWidgetsFactory {
}
if (map.isTopToolbarActive() || !map.getContextMenu().shouldShowTopControls() || MapRouteInfoMenu.chooseRoutesVisible || MapRouteInfoMenu.waypointsVisible) {
updateVisibility(false);
- } else if (!showClosestWaypointFirstInAddress && updateWaypoint()) {
+ } else if (showClosestWaypointFirstInAddress && updateWaypoint()) {
updateVisibility(true);
AndroidUiHelper.updateVisibility(addressText, false);
AndroidUiHelper.updateVisibility(addressTextShadow, false);
diff --git a/OsmAnd/src/net/osmand/plus/wikipedia/WikipediaPoiMenu.java b/OsmAnd/src/net/osmand/plus/wikipedia/WikipediaPoiMenu.java
index 391af7b7c0..876674dd37 100644
--- a/OsmAnd/src/net/osmand/plus/wikipedia/WikipediaPoiMenu.java
+++ b/OsmAnd/src/net/osmand/plus/wikipedia/WikipediaPoiMenu.java
@@ -124,7 +124,8 @@ public class WikipediaPoiMenu {
IndexItem currentDownloadingItem = downloadThread.getCurrentDownloadingItem();
int currentDownloadingProgress = downloadThread.getCurrentDownloadingItemProgress();
List wikiIndexes = DownloadResources.findIndexItemsAt(
- app, mapActivity.getMapLocation(), DownloadActivityType.WIKIPEDIA_FILE);
+ app, mapActivity.getMapLocation(), DownloadActivityType.WIKIPEDIA_FILE,
+ false, -1, true);
if (wikiIndexes.size() > 0) {
adapter.addItem(new ContextMenuItem.ItemBuilder()
.setTitleId(R.string.shared_string_download_map, mapActivity)