camino frances
This commit is contained in:
parent
7c048d7a9d
commit
064c75866c
|
|
@ -10,6 +10,22 @@ import java.util.List;
|
||||||
|
|
||||||
public class CaminoData {
|
public class CaminoData {
|
||||||
|
|
||||||
|
private static List<GPXParser.PuntoGPS> fullTrackCache = null;
|
||||||
|
|
||||||
|
public static List<GPXParser.PuntoGPS> getFullTrack(Context context) {
|
||||||
|
if (fullTrackCache == null) {
|
||||||
|
try {
|
||||||
|
InputStream is = context.getResources().openRawResource(R.raw.camino_frances);
|
||||||
|
fullTrackCache = GPXParser.parse(is);
|
||||||
|
is.close();
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
fullTrackCache = new ArrayList<>();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return fullTrackCache;
|
||||||
|
}
|
||||||
|
|
||||||
private static String loadJSONFromRaw(Context context, int resourceId) {
|
private static String loadJSONFromRaw(Context context, int resourceId) {
|
||||||
try {
|
try {
|
||||||
InputStream is = context.getResources().openRawResource(resourceId);
|
InputStream is = context.getResources().openRawResource(resourceId);
|
||||||
|
|
@ -139,4 +155,141 @@ public class CaminoData {
|
||||||
}
|
}
|
||||||
return lista;
|
return lista;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static List<Etapa> getEtapasPlanificadas(Context context, double maxDist) {
|
||||||
|
List<Etapa> etapas = new ArrayList<>();
|
||||||
|
String json = loadJSONFromRaw(context, R.raw.caminofrances);
|
||||||
|
List<GPXParser.PuntoGPS> track = getFullTrack(context);
|
||||||
|
|
||||||
|
if (json == null || track.isEmpty()) return etapas;
|
||||||
|
|
||||||
|
try {
|
||||||
|
JSONArray pueblos = new JSONArray(json);
|
||||||
|
int etapaNum = 1;
|
||||||
|
int currentPuebloIndex = 0;
|
||||||
|
|
||||||
|
while (currentPuebloIndex < pueblos.length() - 1) {
|
||||||
|
JSONObject inicioPueblo = pueblos.getJSONObject(currentPuebloIndex);
|
||||||
|
double distAcumulada = 0;
|
||||||
|
int desnivelPos = 0;
|
||||||
|
int desnivelNeg = 0;
|
||||||
|
List<Integer> perfil = new ArrayList<>();
|
||||||
|
|
||||||
|
int lastAlbergueIndex = -1;
|
||||||
|
double distAtLastAlbergue = 0;
|
||||||
|
int posAtLastAlbergue = 0;
|
||||||
|
int negAtLastAlbergue = 0;
|
||||||
|
List<Integer> perfilAtLastAlbergue = new ArrayList<>();
|
||||||
|
|
||||||
|
int searchPuebloIndex = currentPuebloIndex + 1;
|
||||||
|
|
||||||
|
while (searchPuebloIndex < pueblos.length()) {
|
||||||
|
JSONObject pPrev = pueblos.getJSONObject(searchPuebloIndex - 1);
|
||||||
|
JSONObject pCurr = pueblos.getJSONObject(searchPuebloIndex);
|
||||||
|
|
||||||
|
// Calculamos la distancia y desnivel entre estos dos pueblos usando el GPX
|
||||||
|
SegmentInfo segment = getSegmentInfo(track,
|
||||||
|
pPrev.getDouble("lat"), pPrev.getDouble("lng"),
|
||||||
|
pCurr.getDouble("lat"), pCurr.getDouble("lng"));
|
||||||
|
|
||||||
|
distAcumulada += segment.distancia;
|
||||||
|
desnivelPos += segment.desnivelPos;
|
||||||
|
desnivelNeg += segment.desnivelNeg;
|
||||||
|
perfil.addAll(segment.altitudes);
|
||||||
|
|
||||||
|
if (pCurr.optBoolean("tiene_albergue", true)) {
|
||||||
|
lastAlbergueIndex = searchPuebloIndex;
|
||||||
|
distAtLastAlbergue = distAcumulada;
|
||||||
|
posAtLastAlbergue = desnivelPos;
|
||||||
|
negAtLastAlbergue = desnivelNeg;
|
||||||
|
perfilAtLastAlbergue = new ArrayList<>(perfil);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (distAcumulada > maxDist && lastAlbergueIndex != -1) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
searchPuebloIndex++;
|
||||||
|
}
|
||||||
|
|
||||||
|
int endPuebloIndex = (lastAlbergueIndex != -1) ? lastAlbergueIndex : (pueblos.length() - 1);
|
||||||
|
JSONObject finPueblo = pueblos.getJSONObject(endPuebloIndex);
|
||||||
|
|
||||||
|
double dTotal = lastAlbergueIndex != -1 ? distAtLastAlbergue : distAcumulada;
|
||||||
|
int pTotal = lastAlbergueIndex != -1 ? posAtLastAlbergue : desnivelPos;
|
||||||
|
|
||||||
|
int dificultad = 1;
|
||||||
|
if (dTotal > 25 || pTotal > 600) dificultad = 3;
|
||||||
|
else if (dTotal > 18 || pTotal > 300) dificultad = 2;
|
||||||
|
|
||||||
|
Etapa e = new Etapa(
|
||||||
|
"Etapa " + etapaNum++,
|
||||||
|
inicioPueblo.getString("nombre"),
|
||||||
|
finPueblo.getString("nombre"),
|
||||||
|
inicioPueblo.getString("nombre") + " - " + finPueblo.getString("nombre"),
|
||||||
|
"Francés",
|
||||||
|
Math.round(dTotal * 10.0) / 10.0,
|
||||||
|
dificultad, "Camino planificado con GPX.", "Ruta de alta precisión",
|
||||||
|
finPueblo.getDouble("lat"),
|
||||||
|
finPueblo.getDouble("lng")
|
||||||
|
);
|
||||||
|
e.setDesnivelPositivo(pTotal);
|
||||||
|
e.setDesnivelNegativo(lastAlbergueIndex != -1 ? negAtLastAlbergue : desnivelNeg);
|
||||||
|
e.setPerfilElevacion(lastAlbergueIndex != -1 ? perfilAtLastAlbergue : perfil);
|
||||||
|
|
||||||
|
etapas.add(e);
|
||||||
|
currentPuebloIndex = endPuebloIndex;
|
||||||
|
if (currentPuebloIndex >= pueblos.length() - 1) break;
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
return etapas;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static class SegmentInfo {
|
||||||
|
double distancia = 0;
|
||||||
|
int desnivelPos = 0;
|
||||||
|
int desnivelNeg = 0;
|
||||||
|
List<Integer> altitudes = new ArrayList<>();
|
||||||
|
}
|
||||||
|
|
||||||
|
private static SegmentInfo getSegmentInfo(List<GPXParser.PuntoGPS> track, double lat1, double lon1, double lat2, double lon2) {
|
||||||
|
SegmentInfo info = new SegmentInfo();
|
||||||
|
int startIdx = findNearestIndex(track, lat1, lon1);
|
||||||
|
int endIdx = findNearestIndex(track, lat2, lon2);
|
||||||
|
|
||||||
|
if (startIdx > endIdx) { int temp = startIdx; startIdx = endIdx; endIdx = temp; }
|
||||||
|
|
||||||
|
for (int i = startIdx; i < endIdx; i++) {
|
||||||
|
GPXParser.PuntoGPS p1 = track.get(i);
|
||||||
|
GPXParser.PuntoGPS p2 = track.get(i + 1);
|
||||||
|
info.distancia += calcularDistancia(p1.lat, p1.lng, p2.lat, p2.lng);
|
||||||
|
|
||||||
|
int diff = (int)(p2.alt - p1.alt);
|
||||||
|
if (diff > 0) info.desnivelPos += diff;
|
||||||
|
else info.desnivelNeg += Math.abs(diff);
|
||||||
|
|
||||||
|
if (i % 10 == 0) info.altitudes.add((int)p1.alt); // Muestreo para no saturar el gráfico
|
||||||
|
}
|
||||||
|
return info;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static int findNearestIndex(List<GPXParser.PuntoGPS> track, double lat, double lon) {
|
||||||
|
int nearest = 0;
|
||||||
|
double minDist = Double.MAX_VALUE;
|
||||||
|
for (int i = 0; i < track.size(); i++) {
|
||||||
|
double d = calcularDistancia(lat, lon, track.get(i).lat, track.get(i).lng);
|
||||||
|
if (d < minDist) {
|
||||||
|
minDist = d;
|
||||||
|
nearest = i;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return nearest;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static double calcularDistancia(double lat1, double lon1, double lat2, double lon2) {
|
||||||
|
float[] results = new float[1];
|
||||||
|
android.location.Location.distanceBetween(lat1, lon1, lat2, lon2, results);
|
||||||
|
return results[0] / 1000.0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -35,10 +35,14 @@ public class Etapa implements Serializable {
|
||||||
this.latitud = latitud;
|
this.latitud = latitud;
|
||||||
this.longitud = longitud;
|
this.longitud = longitud;
|
||||||
this.imagenUrl = "https://picsum.photos/seed/" + nombre.replace(" ", "") + "/800/400";
|
this.imagenUrl = "https://picsum.photos/seed/" + nombre.replace(" ", "") + "/800/400";
|
||||||
// Valores por defecto para el ejemplo
|
// Valores por defecto
|
||||||
this.desnivelPositivo = (int) (distancia * 15);
|
this.desnivelPositivo = 0;
|
||||||
this.desnivelNegativo = (int) (distancia * 12);
|
this.desnivelNegativo = 0;
|
||||||
this.perfilElevacion = generarPerfilMock(distancia);
|
this.perfilElevacion = new ArrayList<>();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPerfilElevacion(List<Integer> perfil) {
|
||||||
|
this.perfilElevacion = perfil;
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<Integer> generarPerfilMock(double dist) {
|
private List<Integer> generarPerfilMock(double dist) {
|
||||||
|
|
|
||||||
|
|
@ -34,6 +34,19 @@ public class EtapaAdapter extends RecyclerView.Adapter<EtapaAdapter.EtapaViewHol
|
||||||
holder.tvNombre.setText(titulo);
|
holder.tvNombre.setText(titulo);
|
||||||
holder.tvDistancia.setText(etapa.getDistancia() + " km");
|
holder.tvDistancia.setText(etapa.getDistancia() + " km");
|
||||||
|
|
||||||
|
// Configuración del tag de dificultad
|
||||||
|
int dificultad = etapa.getDificultad();
|
||||||
|
if (dificultad == 3) {
|
||||||
|
holder.tvDificultad.setText("DIFÍCIL");
|
||||||
|
holder.tvDificultad.setBackgroundColor(android.graphics.Color.parseColor("#D32F2F")); // Rojo
|
||||||
|
} else if (dificultad == 2) {
|
||||||
|
holder.tvDificultad.setText("MODERADA");
|
||||||
|
holder.tvDificultad.setBackgroundColor(android.graphics.Color.parseColor("#FBC02D")); // Amarillo/Naranja
|
||||||
|
} else {
|
||||||
|
holder.tvDificultad.setText("FÁCIL");
|
||||||
|
holder.tvDificultad.setBackgroundColor(android.graphics.Color.parseColor("#388E3C")); // Verde
|
||||||
|
}
|
||||||
|
|
||||||
Glide.with(holder.itemView.getContext())
|
Glide.with(holder.itemView.getContext())
|
||||||
.load(etapa.getImagenUrl())
|
.load(etapa.getImagenUrl())
|
||||||
.placeholder(android.R.drawable.ic_menu_gallery)
|
.placeholder(android.R.drawable.ic_menu_gallery)
|
||||||
|
|
@ -53,13 +66,14 @@ public class EtapaAdapter extends RecyclerView.Adapter<EtapaAdapter.EtapaViewHol
|
||||||
|
|
||||||
// El ViewHolder es el "molde" para los elementos de la vista
|
// El ViewHolder es el "molde" para los elementos de la vista
|
||||||
public static class EtapaViewHolder extends RecyclerView.ViewHolder {
|
public static class EtapaViewHolder extends RecyclerView.ViewHolder {
|
||||||
TextView tvNombre, tvDistancia;
|
TextView tvNombre, tvDistancia, tvDificultad;
|
||||||
ImageView ivMiniatura;
|
ImageView ivMiniatura;
|
||||||
|
|
||||||
public EtapaViewHolder(@NonNull View itemView) {
|
public EtapaViewHolder(@NonNull View itemView) {
|
||||||
super(itemView);
|
super(itemView);
|
||||||
tvNombre = itemView.findViewById(R.id.tvNombreEtapa);
|
tvNombre = itemView.findViewById(R.id.tvNombreEtapa);
|
||||||
tvDistancia = itemView.findViewById(R.id.tvDistancia);
|
tvDistancia = itemView.findViewById(R.id.tvDistancia);
|
||||||
|
tvDificultad = itemView.findViewById(R.id.tvDificultadTag);
|
||||||
ivMiniatura = itemView.findViewById(R.id.ivEtapaMiniatura);
|
ivMiniatura = itemView.findViewById(R.id.ivEtapaMiniatura);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -44,16 +44,16 @@ public class EtapasActivity extends AppCompatActivity {
|
||||||
String[] opcionesCaminos = {"Norte", "Francés"};
|
String[] opcionesCaminos = {"Norte", "Francés"};
|
||||||
|
|
||||||
ArrayAdapter<String> adapterCaminos = new ArrayAdapter<>(this,
|
ArrayAdapter<String> adapterCaminos = new ArrayAdapter<>(this,
|
||||||
android.R.layout.simple_spinner_item, opcionesCaminos);
|
R.layout.spinner_item, opcionesCaminos);
|
||||||
adapterCaminos.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
|
adapterCaminos.setDropDownViewResource(R.layout.spinner_item);
|
||||||
spinnerCaminos.setAdapter(adapterCaminos);
|
spinnerCaminos.setAdapter(adapterCaminos);
|
||||||
|
|
||||||
// 5. Configuración del Spinner para distancia máxima
|
// 5. Configuración del Spinner para distancia máxima
|
||||||
Spinner spinnerDistancia = findViewById(R.id.spinnerDistancia);
|
Spinner spinnerDistancia = findViewById(R.id.spinnerDistancia);
|
||||||
String[] opcionesDistancia = {"Sin límite", "15 km", "20 km", "25 km"};
|
String[] opcionesDistancia = {"Sin límite", "15 km", "20 km", "25 km"};
|
||||||
ArrayAdapter<String> adapterDistancia = new ArrayAdapter<>(this,
|
ArrayAdapter<String> adapterDistancia = new ArrayAdapter<>(this,
|
||||||
android.R.layout.simple_spinner_item, opcionesDistancia);
|
R.layout.spinner_item, opcionesDistancia);
|
||||||
adapterDistancia.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
|
adapterDistancia.setDropDownViewResource(R.layout.spinner_item);
|
||||||
spinnerDistancia.setAdapter(adapterDistancia);
|
spinnerDistancia.setAdapter(adapterDistancia);
|
||||||
|
|
||||||
AdapterView.OnItemSelectedListener listener = new AdapterView.OnItemSelectedListener() {
|
AdapterView.OnItemSelectedListener listener = new AdapterView.OnItemSelectedListener() {
|
||||||
|
|
@ -80,13 +80,22 @@ public class EtapasActivity extends AppCompatActivity {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void actualizarListaEtapas(String camino, double maxDistancia, RecyclerView recyclerView) {
|
private void actualizarListaEtapas(String camino, double maxDistancia, RecyclerView recyclerView) {
|
||||||
|
List<Etapa> filtradas;
|
||||||
|
|
||||||
|
if (camino.equalsIgnoreCase("Francés") && maxDistancia < 1000) {
|
||||||
|
// Si es el Camino Francés y hay un límite de distancia, usamos el planificador dinámico
|
||||||
|
filtradas = CaminoData.getEtapasPlanificadas(this, maxDistancia);
|
||||||
|
} else {
|
||||||
|
// Para otros casos o sin límite, usamos las etapas predefinidas
|
||||||
List<Etapa> todas = CaminoData.getEtapasPorCamino(this, camino);
|
List<Etapa> todas = CaminoData.getEtapasPorCamino(this, camino);
|
||||||
List<Etapa> filtradas = new ArrayList<>();
|
filtradas = new ArrayList<>();
|
||||||
for (Etapa e : todas) {
|
for (Etapa e : todas) {
|
||||||
if (e.getDistancia() <= maxDistancia) {
|
if (e.getDistancia() <= maxDistancia) {
|
||||||
filtradas.add(e);
|
filtradas.add(e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
EtapaAdapter adapter = new EtapaAdapter(filtradas);
|
EtapaAdapter adapter = new EtapaAdapter(filtradas);
|
||||||
recyclerView.setAdapter(adapter);
|
recyclerView.setAdapter(adapter);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,45 @@
|
||||||
|
package es.tatvil.elfarodelperegrino;
|
||||||
|
|
||||||
|
import android.util.Xml;
|
||||||
|
import org.xmlpull.v1.XmlPullParser;
|
||||||
|
import java.io.InputStream;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class GPXParser {
|
||||||
|
public static class PuntoGPS {
|
||||||
|
public double lat, lng, alt;
|
||||||
|
|
||||||
|
public PuntoGPS(double lat, double lng, double alt) {
|
||||||
|
this.lat = lat;
|
||||||
|
this.lng = lng;
|
||||||
|
this.alt = alt;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static List<PuntoGPS> parse(InputStream in) throws Exception {
|
||||||
|
List<PuntoGPS> puntos = new ArrayList<>();
|
||||||
|
XmlPullParser parser = Xml.newPullParser();
|
||||||
|
parser.setInput(in, null);
|
||||||
|
|
||||||
|
int eventType = parser.getEventType();
|
||||||
|
PuntoGPS puntoActual = null;
|
||||||
|
|
||||||
|
while (eventType != XmlPullParser.END_DOCUMENT) {
|
||||||
|
String tag = parser.getName();
|
||||||
|
if (eventType == XmlPullParser.START_TAG) {
|
||||||
|
if ("trkpt".equalsIgnoreCase(tag)) {
|
||||||
|
double lat = Double.parseDouble(parser.getAttributeValue(null, "lat"));
|
||||||
|
double lon = Double.parseDouble(parser.getAttributeValue(null, "lon"));
|
||||||
|
puntoActual = new PuntoGPS(lat, lon, 0);
|
||||||
|
} else if ("ele".equalsIgnoreCase(tag) && puntoActual != null) {
|
||||||
|
puntoActual.alt = Double.parseDouble(parser.nextText());
|
||||||
|
}
|
||||||
|
} else if (eventType == XmlPullParser.END_TAG && "trkpt".equalsIgnoreCase(tag)) {
|
||||||
|
if (puntoActual != null) puntos.add(puntoActual);
|
||||||
|
}
|
||||||
|
eventType = parser.next();
|
||||||
|
}
|
||||||
|
return puntos;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<solid android:color="@color/spiritual_surface" />
|
||||||
|
<corners android:radius="12dp" />
|
||||||
|
<stroke
|
||||||
|
android:width="1dp"
|
||||||
|
android:color="@color/maritime_blue_mary" />
|
||||||
|
</shape>
|
||||||
|
|
@ -12,38 +12,44 @@
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
android:padding="8dp"
|
android:padding="12dp"
|
||||||
|
android:background="@color/spiritual_black"
|
||||||
app:layout_constraintTop_toTopOf="parent">
|
app:layout_constraintTop_toTopOf="parent">
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="Selecciona el Camino:"
|
android:text="Selecciona el Camino:"
|
||||||
android:textColor="@color/text_primary"
|
android:textColor="@color/spiritual_text_dim"
|
||||||
android:textSize="14sp"
|
android:textSize="12sp"
|
||||||
android:layout_marginStart="8dp"/>
|
android:textStyle="bold"
|
||||||
|
android:layout_marginStart="8dp"
|
||||||
|
android:layout_marginBottom="4dp"/>
|
||||||
|
|
||||||
<Spinner
|
<Spinner
|
||||||
android:id="@+id/spinnerCaminos"
|
android:id="@+id/spinnerCaminos"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="48dp"
|
||||||
android:layout_margin="8dp"
|
android:layout_marginBottom="12dp"
|
||||||
android:background="@android:drawable/btn_dropdown" />
|
android:background="@drawable/spinner_background"
|
||||||
|
android:popupBackground="@color/spiritual_surface" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="Distancia máxima por etapa:"
|
android:text="Distancia máxima por etapa:"
|
||||||
android:textColor="@color/text_primary"
|
android:textColor="@color/spiritual_text_dim"
|
||||||
android:textSize="14sp"
|
android:textSize="12sp"
|
||||||
android:layout_marginStart="8dp"/>
|
android:textStyle="bold"
|
||||||
|
android:layout_marginStart="8dp"
|
||||||
|
android:layout_marginBottom="4dp"/>
|
||||||
|
|
||||||
<Spinner
|
<Spinner
|
||||||
android:id="@+id/spinnerDistancia"
|
android:id="@+id/spinnerDistancia"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="48dp"
|
||||||
android:layout_margin="8dp"
|
android:background="@drawable/spinner_background"
|
||||||
android:background="@android:drawable/btn_dropdown" />
|
android:popupBackground="@color/spiritual_surface" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
<androidx.recyclerview.widget.RecyclerView
|
<androidx.recyclerview.widget.RecyclerView
|
||||||
|
|
|
||||||
|
|
@ -42,6 +42,19 @@
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="0.0 km"
|
android:text="0.0 km"
|
||||||
android:textColor="#757575"/>
|
android:textColor="#757575"/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/tvDificultadTag"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:paddingHorizontal="8dp"
|
||||||
|
android:paddingVertical="2dp"
|
||||||
|
android:textSize="10sp"
|
||||||
|
android:textStyle="bold"
|
||||||
|
android:textColor="#FFFFFF"
|
||||||
|
android:background="@android:color/holo_green_dark"
|
||||||
|
android:layout_marginTop="4dp"
|
||||||
|
android:text="FÁCIL"/>
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:id="@android:id/text1"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:padding="12dp"
|
||||||
|
android:textColor="@color/spiritual_gold"
|
||||||
|
android:textSize="16sp"
|
||||||
|
android:background="@color/spiritual_surface" />
|
||||||
|
|
@ -1,29 +0,0 @@
|
||||||
Roncesvalle
|
|
||||||
Burguete
|
|
||||||
Zubiri
|
|
||||||
Pamplona
|
|
||||||
Puente la Reina
|
|
||||||
Estella
|
|
||||||
Viana
|
|
||||||
Logroño
|
|
||||||
Navarrete
|
|
||||||
Nájera
|
|
||||||
Santo Domingo de la Calzada
|
|
||||||
Burgos
|
|
||||||
Castrojeriz
|
|
||||||
Frómista
|
|
||||||
Carrión de los Condes
|
|
||||||
Sahagún
|
|
||||||
León
|
|
||||||
Hospital de Órbigo
|
|
||||||
Astorga
|
|
||||||
Ponferrada
|
|
||||||
Villafranca del Bierzo
|
|
||||||
O Cebreiro
|
|
||||||
Triacastela
|
|
||||||
Sarria
|
|
||||||
Portomarín
|
|
||||||
Palas de Rei
|
|
||||||
Melide
|
|
||||||
Arzúa
|
|
||||||
Santiago de Compostela
|
|
||||||
|
|
@ -1,597 +0,0 @@
|
||||||
[
|
|
||||||
{
|
|
||||||
"nombre": "Saint-Jean-Pied-de-Port",
|
|
||||||
"lat": 43.1636,
|
|
||||||
"lng": -1.2394
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Huntto",
|
|
||||||
"lat": 43.1345,
|
|
||||||
"lng": -1.2461
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Orisson",
|
|
||||||
"lat": 43.1234,
|
|
||||||
"lng": -1.2642
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Roncesvalles",
|
|
||||||
"lat": 43.0092,
|
|
||||||
"lng": -1.3194
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Burguete",
|
|
||||||
"lat": 42.9891,
|
|
||||||
"lng": -1.3341
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Espinal",
|
|
||||||
"lat": 42.9774,
|
|
||||||
"lng": -1.3735
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Viscarret",
|
|
||||||
"lat": 42.9492,
|
|
||||||
"lng": -1.4111
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Lintzoáin",
|
|
||||||
"lat": 42.9413,
|
|
||||||
"lng": -1.4285
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Zubiri",
|
|
||||||
"lat": 42.9298,
|
|
||||||
"lng": -1.5042
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Larrasoaña",
|
|
||||||
"lat": 42.9094,
|
|
||||||
"lng": -1.5235
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Akerreta",
|
|
||||||
"lat": 42.8986,
|
|
||||||
"lng": -1.5264
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Zuriáin",
|
|
||||||
"lat": 42.8794,
|
|
||||||
"lng": -1.5542
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Irotz",
|
|
||||||
"lat": 42.8712,
|
|
||||||
"lng": -1.5678
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Zabaldika",
|
|
||||||
"lat": 42.8634,
|
|
||||||
"lng": -1.5794
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Trinidad de Arre",
|
|
||||||
"lat": 42.8425,
|
|
||||||
"lng": -1.6136
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Pamplona",
|
|
||||||
"lat": 42.8125,
|
|
||||||
"lng": -1.6458
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Cizur Menor",
|
|
||||||
"lat": 42.7936,
|
|
||||||
"lng": -1.6741
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Zariquiegui",
|
|
||||||
"lat": 42.7478,
|
|
||||||
"lng": -1.7164
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Uterga",
|
|
||||||
"lat": 42.7142,
|
|
||||||
"lng": -1.7584
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Muruzábal",
|
|
||||||
"lat": 42.6931,
|
|
||||||
"lng": -1.7652
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Obanos",
|
|
||||||
"lat": 42.6806,
|
|
||||||
"lng": -1.7856
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Puente la Reina",
|
|
||||||
"lat": 42.6719,
|
|
||||||
"lng": -1.8156
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Mañeru",
|
|
||||||
"lat": 42.6661,
|
|
||||||
"lng": -1.8672
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Cirauqui",
|
|
||||||
"lat": 42.6736,
|
|
||||||
"lng": -1.8986
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Lorca",
|
|
||||||
"lat": 42.6725,
|
|
||||||
"lng": -1.9794
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Villatuerta",
|
|
||||||
"lat": 42.6592,
|
|
||||||
"lng": -2.0306
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Estella",
|
|
||||||
"lat": 42.6717,
|
|
||||||
"lng": -2.0306
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Ayegui",
|
|
||||||
"lat": 42.6558,
|
|
||||||
"lng": -2.0461
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Azqueta",
|
|
||||||
"lat": 42.6394,
|
|
||||||
"lng": -2.1125
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Villamayor de Monjardín",
|
|
||||||
"lat": 42.6286,
|
|
||||||
"lng": -2.1386
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Los Arcos",
|
|
||||||
"lat": 42.5694,
|
|
||||||
"lng": -2.1917
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Sansol",
|
|
||||||
"lat": 42.5564,
|
|
||||||
"lng": -2.2614
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Torres del Río",
|
|
||||||
"lat": 42.5519,
|
|
||||||
"lng": -2.2725
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Viana",
|
|
||||||
"lat": 42.5153,
|
|
||||||
"lng": -2.3719
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Logroño",
|
|
||||||
"lat": 42.4627,
|
|
||||||
"lng": -2.4447
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Navarrete",
|
|
||||||
"lat": 42.4286,
|
|
||||||
"lng": -2.5622
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Nájera",
|
|
||||||
"lat": 42.4161,
|
|
||||||
"lng": -2.7319
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Azofra",
|
|
||||||
"lat": 42.4239,
|
|
||||||
"lng": -2.7917
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Cirueña",
|
|
||||||
"lat": 42.4114,
|
|
||||||
"lng": -2.8942
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Santo Domingo de la Calzada",
|
|
||||||
"lat": 42.4406,
|
|
||||||
"lng": -2.9531
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Grañón",
|
|
||||||
"lat": 42.4503,
|
|
||||||
"lng": -3.0286
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Redecilla del Camino",
|
|
||||||
"lat": 42.4386,
|
|
||||||
"lng": -3.0642
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Viloria de Rioja",
|
|
||||||
"lat": 42.4244,
|
|
||||||
"lng": -3.1022
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Belorado",
|
|
||||||
"lat": 42.4203,
|
|
||||||
"lng": -3.1903
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Tosantos",
|
|
||||||
"lat": 42.4136,
|
|
||||||
"lng": -3.2458
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Villafranca Montes de Oca",
|
|
||||||
"lat": 42.3875,
|
|
||||||
"lng": -3.3106
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "San Juan de Ortega",
|
|
||||||
"lat": 42.3789,
|
|
||||||
"lng": -3.4358
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Agés",
|
|
||||||
"lat": 42.3742,
|
|
||||||
"lng": -3.4794
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Atapuerca",
|
|
||||||
"lat": 42.3778,
|
|
||||||
"lng": -3.5097
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Burgos",
|
|
||||||
"lat": 42.3439,
|
|
||||||
"lng": -3.6969
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Tardajos",
|
|
||||||
"lat": 42.3475,
|
|
||||||
"lng": -3.8186
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Rabé de las Calzadas",
|
|
||||||
"lat": 42.3403,
|
|
||||||
"lng": -3.8344
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Hornillos del Camino",
|
|
||||||
"lat": 42.3394,
|
|
||||||
"lng": -3.9264
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Hontanas",
|
|
||||||
"lat": 42.3117,
|
|
||||||
"lng": -4.0453
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Castrojeriz",
|
|
||||||
"lat": 42.2881,
|
|
||||||
"lng": -4.1378
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Itero de la Vega",
|
|
||||||
"lat": 42.2861,
|
|
||||||
"lng": -4.2542
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Boadilla del Camino",
|
|
||||||
"lat": 42.2592,
|
|
||||||
"lng": -4.3494
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Frómista",
|
|
||||||
"lat": 42.2683,
|
|
||||||
"lng": -4.4069
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Población de Campos",
|
|
||||||
"lat": 42.2708,
|
|
||||||
"lng": -4.4467
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Villarmentero de Campos",
|
|
||||||
"lat": 42.2858,
|
|
||||||
"lng": -4.5103
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Villalcázar de Sirga",
|
|
||||||
"lat": 42.3164,
|
|
||||||
"lng": -4.5425
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Carrión de los Condes",
|
|
||||||
"lat": 42.3392,
|
|
||||||
"lng": -4.6061
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Calzadilla de la Cueza",
|
|
||||||
"lat": 42.3592,
|
|
||||||
"lng": -4.8386
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Lédigos",
|
|
||||||
"lat": 42.3556,
|
|
||||||
"lng": -4.9192
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Terradillos de los Templarios",
|
|
||||||
"lat": 42.3533,
|
|
||||||
"lng": -4.9567
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Moratinos",
|
|
||||||
"lat": 42.3578,
|
|
||||||
"lng": -4.9911
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "San Nicolás del Real Camino",
|
|
||||||
"lat": 42.3614,
|
|
||||||
"lng": -5.0211
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Sahagún",
|
|
||||||
"lat": 42.3719,
|
|
||||||
"lng": -5.0286
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Bercianos del Real Camino",
|
|
||||||
"lat": 42.3875,
|
|
||||||
"lng": -5.1464
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "El Burgo Ranero",
|
|
||||||
"lat": 42.4239,
|
|
||||||
"lng": -5.2217
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Reliegos",
|
|
||||||
"lat": 42.4847,
|
|
||||||
"lng": -5.3517
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Mansilla de las Mulas",
|
|
||||||
"lat": 42.5036,
|
|
||||||
"lng": -5.4158
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "León",
|
|
||||||
"lat": 42.5989,
|
|
||||||
"lng": -5.5672
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Virgen del Camino",
|
|
||||||
"lat": 42.5786,
|
|
||||||
"lng": -5.6417
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Villadangos del Páramo",
|
|
||||||
"lat": 42.5169,
|
|
||||||
"lng": -5.7667
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "San Martín del Camino",
|
|
||||||
"lat": 42.4939,
|
|
||||||
"lng": -5.8119
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Hospital de Órbigo",
|
|
||||||
"lat": 42.4631,
|
|
||||||
"lng": -5.8825
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Santibáñez de Valdeiglesias",
|
|
||||||
"lat": 42.4647,
|
|
||||||
"lng": -5.9239
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Astorga",
|
|
||||||
"lat": 42.4578,
|
|
||||||
"lng": -6.0567
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Murias de Rechivaldo",
|
|
||||||
"lat": 42.4608,
|
|
||||||
"lng": -6.1039
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Santa Catalina de Somoza",
|
|
||||||
"lat": 42.4553,
|
|
||||||
"lng": -6.1583
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "El Ganso",
|
|
||||||
"lat": 42.4517,
|
|
||||||
"lng": -6.2081
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Rabanal del Camino",
|
|
||||||
"lat": 42.4808,
|
|
||||||
"lng": -6.2831
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Foncebadón",
|
|
||||||
"lat": 42.4947,
|
|
||||||
"lng": -6.3422
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Acebo",
|
|
||||||
"lat": 42.5097,
|
|
||||||
"lng": -6.4172
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Molinaseca",
|
|
||||||
"lat": 42.5375,
|
|
||||||
"lng": -6.5203
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Ponferrada",
|
|
||||||
"lat": 42.5458,
|
|
||||||
"lng": -6.5911
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Camponaraya",
|
|
||||||
"lat": 42.5811,
|
|
||||||
"lng": -6.6703
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Cacabelos",
|
|
||||||
"lat": 42.5997,
|
|
||||||
"lng": -6.7264
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Villafranca del Bierzo",
|
|
||||||
"lat": 42.6075,
|
|
||||||
"lng": -6.8111
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Trabadelo",
|
|
||||||
"lat": 42.6503,
|
|
||||||
"lng": -6.8858
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "La Portela de Valcarce",
|
|
||||||
"lat": 42.6681,
|
|
||||||
"lng": -6.9467
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Vega de Valcarce",
|
|
||||||
"lat": 42.6644,
|
|
||||||
"lng": -6.9478
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Las Herrerías",
|
|
||||||
"lat": 42.6931,
|
|
||||||
"lng": -7.0039
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "La Faba",
|
|
||||||
"lat": 42.7003,
|
|
||||||
"lng": -7.0286
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "O Cebreiro",
|
|
||||||
"lat": 42.7081,
|
|
||||||
"lng": -7.0436
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Liñares",
|
|
||||||
"lat": 42.7161,
|
|
||||||
"lng": -7.0864
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Hospital da Condesa",
|
|
||||||
"lat": 42.7214,
|
|
||||||
"lng": -7.1122
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Padornelo",
|
|
||||||
"lat": 42.7239,
|
|
||||||
"lng": -7.1306
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Triacastela",
|
|
||||||
"lat": 42.7558,
|
|
||||||
"lng": -7.2417
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Samos",
|
|
||||||
"lat": 42.7303,
|
|
||||||
"lng": -7.3275
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Sarria",
|
|
||||||
"lat": 42.7778,
|
|
||||||
"lng": -7.4161
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Barbadelo",
|
|
||||||
"lat": 42.7664,
|
|
||||||
"lng": -7.4642
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Ferreiros",
|
|
||||||
"lat": 42.7417,
|
|
||||||
"lng": -7.5494
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Portomarín",
|
|
||||||
"lat": 42.8078,
|
|
||||||
"lng": -7.6167
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Gonzar",
|
|
||||||
"lat": 42.8436,
|
|
||||||
"lng": -7.6964
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Ventas de Narón",
|
|
||||||
"lat": 42.8594,
|
|
||||||
"lng": -7.7319
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Ligonde",
|
|
||||||
"lat": 42.8642,
|
|
||||||
"lng": -7.7711
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Palas de Rei",
|
|
||||||
"lat": 42.8733,
|
|
||||||
"lng": -7.8694
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Casanova",
|
|
||||||
"lat": 42.8839,
|
|
||||||
"lng": -7.9342
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Leboreiro",
|
|
||||||
"lat": 42.8881,
|
|
||||||
"lng": -7.9864
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Melide",
|
|
||||||
"lat": 42.9153,
|
|
||||||
"lng": -8.0142
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Boente",
|
|
||||||
"lat": 42.9169,
|
|
||||||
"lng": -8.0811
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Ribadiso da Baixo",
|
|
||||||
"lat": 42.9231,
|
|
||||||
"lng": -8.1467
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Arzúa",
|
|
||||||
"lat": 42.9272,
|
|
||||||
"lng": -8.1642
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Salceda",
|
|
||||||
"lat": 42.9136,
|
|
||||||
"lng": -8.2831
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "O Pedrouzo",
|
|
||||||
"lat": 42.9039,
|
|
||||||
"lng": -8.3611
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Monte do Gozo",
|
|
||||||
"lat": 42.8894,
|
|
||||||
"lng": -8.4942
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nombre": "Santiago de Compostela",
|
|
||||||
"lat": 42.8806,
|
|
||||||
"lng": -8.5447
|
|
||||||
}
|
|
||||||
]
|
|
||||||
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,163 @@
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"nombre": "Saint-Jean-Pied-de-Port",
|
||||||
|
"lat": 43.1636,
|
||||||
|
"lng": -1.2394,
|
||||||
|
"alt": 172,
|
||||||
|
"tiene_albergue": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nombre": "Huntto",
|
||||||
|
"lat": 43.1345,
|
||||||
|
"lng": -1.2461,
|
||||||
|
"alt": 608,
|
||||||
|
"tiene_albergue": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nombre": "Orisson",
|
||||||
|
"lat": 43.1234,
|
||||||
|
"lng": -1.2642,
|
||||||
|
"alt": 792,
|
||||||
|
"tiene_albergue": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nombre": "Puerto de Ibañeta",
|
||||||
|
"lat": 43.0205,
|
||||||
|
"lng": -1.3242,
|
||||||
|
"alt": 1057,
|
||||||
|
"tiene_albergue": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nombre": "Roncesvalles",
|
||||||
|
"lat": 43.0092,
|
||||||
|
"lng": -1.3194,
|
||||||
|
"alt": 950,
|
||||||
|
"tiene_albergue": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nombre": "Burguete",
|
||||||
|
"lat": 42.9891,
|
||||||
|
"lng": -1.3341,
|
||||||
|
"alt": 885,
|
||||||
|
"tiene_albergue": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nombre": "Espinal",
|
||||||
|
"lat": 42.9774,
|
||||||
|
"lng": -1.3735,
|
||||||
|
"alt": 870,
|
||||||
|
"tiene_albergue": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nombre": "Viscarret",
|
||||||
|
"lat": 42.9492,
|
||||||
|
"lng": -1.4111,
|
||||||
|
"alt": 780,
|
||||||
|
"tiene_albergue": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nombre": "Zubiri",
|
||||||
|
"lat": 42.9298,
|
||||||
|
"lng": -1.5042,
|
||||||
|
"alt": 526,
|
||||||
|
"tiene_albergue": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nombre": "Larrasoaña",
|
||||||
|
"lat": 42.9094,
|
||||||
|
"lng": -1.5235,
|
||||||
|
"alt": 485,
|
||||||
|
"tiene_albergue": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nombre": "Pamplona",
|
||||||
|
"lat": 42.8125,
|
||||||
|
"lng": -1.6458,
|
||||||
|
"alt": 446,
|
||||||
|
"tiene_albergue": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nombre": "Puente la Reina",
|
||||||
|
"lat": 42.6719,
|
||||||
|
"lng": -1.8156,
|
||||||
|
"alt": 345,
|
||||||
|
"tiene_albergue": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nombre": "Estella",
|
||||||
|
"lat": 42.6717,
|
||||||
|
"lng": -2.0306,
|
||||||
|
"alt": 425,
|
||||||
|
"tiene_albergue": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nombre": "Logroño",
|
||||||
|
"lat": 42.4627,
|
||||||
|
"lng": -2.4447,
|
||||||
|
"alt": 384,
|
||||||
|
"tiene_albergue": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nombre": "Santo Domingo de la Calzada",
|
||||||
|
"lat": 42.4406,
|
||||||
|
"lng": -2.9531,
|
||||||
|
"alt": 638,
|
||||||
|
"tiene_albergue": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nombre": "Burgos",
|
||||||
|
"lat": 42.3439,
|
||||||
|
"lng": -3.6969,
|
||||||
|
"alt": 856,
|
||||||
|
"tiene_albergue": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nombre": "León",
|
||||||
|
"lat": 42.5989,
|
||||||
|
"lng": -5.5672,
|
||||||
|
"alt": 837,
|
||||||
|
"tiene_albergue": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nombre": "Astorga",
|
||||||
|
"lat": 42.4578,
|
||||||
|
"lng": -6.0567,
|
||||||
|
"alt": 869,
|
||||||
|
"tiene_albergue": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nombre": "Ponferrada",
|
||||||
|
"lat": 42.5458,
|
||||||
|
"lng": -6.5911,
|
||||||
|
"alt": 543,
|
||||||
|
"tiene_albergue": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nombre": "O Cebreiro",
|
||||||
|
"lat": 42.7081,
|
||||||
|
"lng": -7.0436,
|
||||||
|
"alt": 1330,
|
||||||
|
"tiene_albergue": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nombre": "Sarria",
|
||||||
|
"lat": 42.7778,
|
||||||
|
"lng": -7.4161,
|
||||||
|
"alt": 454,
|
||||||
|
"tiene_albergue": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nombre": "Portomarín",
|
||||||
|
"lat": 42.8078,
|
||||||
|
"lng": -7.6167,
|
||||||
|
"alt": 387,
|
||||||
|
"tiene_albergue": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nombre": "Santiago de Compostela",
|
||||||
|
"lat": 42.8806,
|
||||||
|
"lng": -8.5447,
|
||||||
|
"alt": 260,
|
||||||
|
"tiene_albergue": true
|
||||||
|
}
|
||||||
|
]
|
||||||
Loading…
Reference in New Issue