Ver Mensaje Individual
  #5 (permalink)  
Antiguo 04/06/2009, 08:43
astartea
 
Fecha de Ingreso: junio-2009
Mensajes: 4
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Firefox no sabe cómo abrir esta dirección, porque el protocolo (c) no está

Hola a todos!

Ya hace tiempo que salio este tema, pero yo soy bastante nueva en esto y tengo el mismo mensage de error. El problema es que se ve que es algo diferente, porque la mia es una página muy sencilla con algo de javascript. El caso es que yo no uso ninguna ruta relativa ni ningun acceso a archivos. lo unico que usa es el api gratuita de google maps en javascript. El problema me salta cuando intento pasar variables en la url. Os dejo aqui abajo todo, porque tengo problemas para subirla al servidor.

Gracias de antemano!!

PD: Hay muchas cosas mal y sin usar y de todo, pero es que acabo de empezar y ya no puedo probar nada ni seguir adelante.


<head>
<title>GeoActio</title>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />

<script type="text/javascript">

var map;
var geocoder;
var geoRutas;

var polyline = new Array();
var dibujarPolyline = false;

var desde;
var hasta;
var pasos = new Array();

var comprobacionDesde = false;
var comprobacionHasta = false;
var ultimoPuntoComprobado = -1;
var puntosFallidos = new Array();
var desdeDefinitivo;
var hastaDefinitivo;
var puntosDefinitivos = new Array();

function initialize()
{
if(GBrowserIsCompatible())
{
map=new GMap2(document.getElementById("map_canvas"));
map.setMapType(G_NORMAL_MAP);

geocoder=new GClientGeocoder();

geoRutas = new GDirections(map);
GEvent.addListener(geoRutas, "load", onGDirectionsLoad);
GEvent.addListener(geoRutas, "error", handleErrorsRuta);

map.addControl(new GSmallMapControl());
map.addControl(new GMapTypeControl());
map.enableScrollWheelZoom();

map.setCenter(new GLatLng(42.66841558056066,-1.9141808348997),8);

var url=document.location.href;
var idx=contiene(url,'?');

if(idx!=-1)
{
var NumPas = 0;
var variables=url.substring(idx+1,url.length);
var pares = variables.split('&');
//alert("Parejas de datos: " + pares.length);
for(var c = 0;c<pares.length;c++)
{
var tp = pares[c];
var par = tp.split('=');
//alert("Comienzo de la variable " + par[0].substr(0,5));
if(par[0] == "desde")
{
desde = par[1];
}
else if (par[0] == "hasta")
{
hasta = par[1];
}
else if (par[0].substr(0,4) == "paso")
{
pasos.push(par[1]);
}
else if(par[0].substr(0,4) == "step")
{
polyline.push(par[1]);
dibujarPolyline = true;
}
}
buscarComoLlegar();
}
}
};

function buscarComoLlegar()
{

if(comprobacionDesde == true)
{
//alert("Comprobado punto origen");
//alert("Desde: " + desdeDefinitivo);
if(comprobacionHasta == true)
{
//alert("Comprobado punto destino");
//alert("Desde: " + desdeDefinitivo);
//alert("Hasta: " + hastaDefinitivo);
if(ultimoPuntoComprobado == pasos.length -1)
{
//alert("Comprobados puntos intermedios");
rutasLlegar(desdeDefinitivo, hastaDefinitivo, puntosDefinitivos);
comprobacionHasta = false;
comprobacionDesde = false;
ultimoPuntoComprobacion = -1;
puntosFallidos = null;
desdeDefinitivo = null;
hastaDefinitivo = null;
puntosDefinitivos = null;
}
else
{
comprobarPuntos();
}
}
else
{
//alert("No comprobado punto destinno");
if(hastaPunto() == true)
{
//alert("Comprobando destino: Punto de interes");
comprobarPunto("hasta");
}
else
{
//alert("Comprobando destino: Direccion");
comprobarDireccion("hasta",hasta);
}
}
}
else
{
//alert("No comprobado punto origen");
if(desdePunto() == true)
{
//alert("Comprobando origen: Punto de interes");
comprobarPunto("desde");
}
else
{
//alert("Comprobando origen: Direccion");
comprobarDireccion("desde",desde);
}
}
};

function hastaPunto()
{
var resultado = true;
var division = hasta.split(",");

if (isNaN(division[0]))
{
resultado = false;
}
return resultado;
}

function desdePunto()
{
var resultado = true;
var division = desde.split(",");

if (isNaN(division[0]))
{
resultado = false;
}
return resultado;
}

function comprobarPuntos()
{
ultimoPuntoComprobado++;
if(ultimoPuntoComprobado < pasos.length)
{
var division = pasos[ultimoPuntoComprobado].split(",");
if(isNaN(division[0]))
{
var calle = division[0];
var numero = division[1];
var ciudad = division[2];
var direccion = "";
if((calle != null) && (calle != ""))
{
if((numero != "")&&(numero != null))
{
direccion += numero;
}
direccion += " " + calle;
}
direccion += ", " + ciudad;

comprobarDireccion(ultimoPuntoComprobado,direccion );
}
else
{
comprobarPunto(ultimoPuntoComprobado);
}
}
};

function comprobarPunto(clase)
{
if(clase == "desde")
{
var division = desde.split(",");
var latitud = division[0];
//alert("Latitud origen: " + latitud);
var longitud = division[1];
//alert("Longitud origen: " + longitud);
var punto = new GLatLng(parseFloat(latitud), parseFloat(longitud));
desdeDefinitivo = punto;
comprobacionDesde = true;
//alert("desde comprobado");
buscarComoLlegar();
}
else if(clase == "hasta")
{
var division = desde.split(",");
var latitud = division[0];
//alert("Latitud destino: " + latitud);
var longitud = division[1];
//alert("Longitud destino: " + longitud);
var punto = new GLatLng(parseFloat(latitud), parseFloat(longitud));
hastaDefinitivo = punto;
comprobacionHasta = true;
//alert("hasta comprobado");
buscarComoLlegar();
}
else
{
var indice = parseInt(clase);
division = pasos[indice].split(",");
var latitud = division[0];
//alert("Latitud: " + latitud);
var longitud = division[1];
//alert("Longitud: " + longitud);
var punto = new GLatLng(parseFloat(latitud), parseFloat(longitud));
puntosDefinitivos[indice] = punto;
buscarComoLlegar();
}
};

function quitarSimbolos(texto)
{
var resultado = "";

for(var i = 0; i < texto.length; i++)
{
if((texto[i] != ",") && (texto[i] != "'") && (texto[i] != " "))
{
resultado += texto[i];
}
}

return resultado;
}

function quitarComillas(texto)
{
var resultado = "";

for(var i= 0; i < texto.length; i++)
{
if(texto[i] != "'")
{
resultado += texto[i];
}
}

return resultado;
};

function colocarOpcionesDesde(response)
{
colocarOpciones(response,"desde");
};

function colocarOpcionesHasta(response)
{
colocarOpciones(response,"hasta");
};

function colocarOpcionesPaso(response)
{
colocarOpciones(response,"paso");
};

function rutasLlegar(desdeDefinitivo, hastaDefinitivo, puntosDefinitivos)
{
if (GBrowserIsCompatible())
{
var pmlang = "es";
var arrayTemp = new Array();
arrayTemp.push(desde);

for(var i = 0; i < puntosDefinitivos.length; i++)
{
if(puntosDefinitivos[i] != null)
{
arrayTemp.push(puntosDefinitivos[i]);
}
}

arrayTemp.push(hasta);
setDirections(arrayTemp, "es");
}
};

function setDirections(array, locale)
{
//alert("Desde: " + fromAddress + " -- Hasta: " + toAddress);
geoRutas.loadFromWaypoints(array, { "locale": locale, "getSteps": true, "getPolyline": true });
//alert("ruta sacada");
};

function onGDirectionsLoad()
{
if(geoRutas.getPolyline() != null)
{
var texto="";
var ruta = geoRutas.getPolyline();
var pasos = new Array();
for(var i = 0; i < ruta.getVertexCount(); i++)
{
var paso = ruta.getVertex(i);
var latitud = paso.lat();
var longitud = paso.lng();
if(i == 0)
{
texto += "step" + i + "=\"" + latitud + "," + longitud + "\"";
}
else
{
texto += "&step" + i + "=\"" + latitud + "," + longitud + "\"";
}
}
var direccion = "C:\Sitio Web\prueba.html?" + texto;
//alert(direccion);
window.self.location = direccion;
}
};

/* Gestion de errores en la busqueda de direcciones */

function handleErrorsRuta()
{
};

function contiene(palabra,valor)
{
for(var i=0;i<palabra.length;i++)
{
if(palabra.substr(i,1)==valor)
{
return i;
}
}
return-1;
};

</script>

</head>

<body onload="initialize();" onunload="GUnload();">
<div id="resultados" style="visibility:hidden;">
</div>

<div id="map_canvas" style="width:500px;height:300px;"></div>
<div id="OpcionDireccion" style="visibility:hidden;"></div>
</body>
</html>