Foros del Web » Programando para Internet » Javascript »

Problema al mostrar script de google maps

Estas en el tema de Problema al mostrar script de google maps en el foro de Javascript en Foros del Web. Hola, tengo un problema ke esta volviendo loco, tengo un script de google de la API de googlemaps ke me iva perfectamente, pero desde que ...
  #1 (permalink)  
Antiguo 09/02/2010, 13:24
 
Fecha de Ingreso: noviembre-2007
Mensajes: 264
Antigüedad: 16 años, 5 meses
Puntos: 0
Problema al mostrar script de google maps

Hola, tengo un problema ke esta volviendo loco, tengo un script de google de la API de googlemaps ke me iva perfectamente, pero desde que he remodelado la pagina con ajax no funciona, utilizo isiAjax, utilizo un menu con enlaces ke cargan en un div las diferentes paginas. El caso es que no me va el script de google maps, pero si lo abro como pagina aparte si funciona.
he probado de todo, cambiar el nombre de las funciones x si estaban ya declaradas, cargar el script n el index, cargarlo en la pagina del mapa.. de todo pero no consigo solucionarlo.. alguien tiene alguna idea del porke pasar eso?? se lo agradeceria bstante un saludo.
  #2 (permalink)  
Antiguo 10/02/2010, 01:50
 
Fecha de Ingreso: diciembre-2007
Ubicación: Barcelona
Mensajes: 289
Antigüedad: 16 años, 4 meses
Puntos: 8
Respuesta: Problema al mostrar script de google maps

Hola,

La verdad que me soprende lo que te pasa, por que la estrella del AJAX es el Google Maps! De todas formas, nos puedes decir que hace tu script? Es posible que des por sentado algo que al poner el AJAX ha cambiado...

Por ejemplo, si creas algo a partir de una acción deterinada con el AJAX, es posible que tu script necesite ese algo antes de que haya sido creado. Es un ejemplo tonto, pero no es la primera vez que me pasa.

Si no es muy largo pon tu script y tu página con AJAX a ver si vemos el por que no fuinciona.

Saludos.
  #3 (permalink)  
Antiguo 10/02/2010, 05:00
 
Fecha de Ingreso: noviembre-2007
Mensajes: 264
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Problema al mostrar script de google maps

este es el script del mapa
Cita:
var map = null;
var geocoder = null;
var myPano;
var panoClient;
var nextPanoId;

function loadMap() {
if (GBrowserIsCompatible()) {

map = new GMap2(document.getElementById("map"));
map.addControl(new GLargeMapControl()); // Añadir barra de zoom y desplazamiento.
map.addControl(new GMapTypeControl()); // Poder elegir tipo de mapa.
map.setCenter(new GLatLng(37.983479,-1.129918), 15);
geocoder = new GClientGeocoder();

GEvent.addListener(map, "click", function(overlay,latlng) {
panoClient.getNearestPanorama(latlng, showPanoData);
});

var fenwayPark = new GLatLng(37.982937,-1.129935);
var fenwayPOV = {yaw:370.64659986187695,pitch:-20};
panoClient = new GStreetviewClient();
myPano = new GStreetviewPanorama(document.getElementById("pano" ));
myPano.setLocationAndPOV(fenwayPark, fenwayPOV);
GEvent.addListener(myPano, "error", handleNoFlash);
panoClient.getNearestPanorama(fenwayPark, showPanoData);



function crearMarca(punto,html,ico){
var miMarca = new GMarker(punto,ico);
GEvent.addListener(miMarca, "click", function (){
miMarca.openInfoWindowHtml(html);
});
map.addOverlay(miMarca);
}

// Descargar el xml con las marcas y procesar su contenido
GDownloadUrl("includes/maps.php", function(documento) {
//En esta función puedo examinar el XML y hacer cosas dependiendo su contenido.
var xmlDoc = GXml.parse(documento);
//extraigo todas las marcas del XML. Obtengo un array
var marcas = xmlDoc.documentElement.getElementsByTagName("marca ");
for (var i = 0; i < marcas.length; i++) {
var lat = parseFloat(marcas[i].getAttribute("lat"));
var lng = parseFloat(marcas[i].getAttribute("lng"));
var punto = new GLatLng(lat,lng);
var html = marcas[i].getAttribute("codigohtml");
var ico = marcas[i].getAttribute("ico");
// Defino el punto
var iconoMarca = new GIcon(G_DEFAULT_ICON);
iconoMarca.image = "images/maps/"+ico+".png";
var tamanoIcono = new GSize(30,30);
iconoMarca.iconSize = tamanoIcono;
iconoMarca.shadow = "images/maps/"+ico+"x.png";
var tamanoSombra = new GSize(32,31);
iconoMarca.shadowSize = tamanoSombra;
iconoMarca.iconAnchor = new GPoint(15,28);

html = "<img src='"+iconoMarca.image+"'> <b>"+html+"</b><br><a href='locales.php'>Mas info..</a>";
crearMarca(punto,html,iconoMarca);
}
});

}
}

function showPanoData(panoData) {
/*
if (panoData.code != 200) {
GLog.write('showPanoData: Server rejected with code: ' + panoData.code);
return;
}

nextPanoId = panoData.links[0].panoId;

var displayString = [
"Panorama ID: " + panoData.location.panoId,
"LatLng: " + panoData.location.latlng,
"Copyright: " + panoData.copyright,
"Description: " + panoData.location.description,
"Next Pano ID: " + panoData.links[0].panoId
].join("<br/>");

map.openInfoWindowHtml(panoData.location.latlng, displayString);
GLog.write('Viewer moved to' + panoData.location.latlng);
*/
myPano.setLocationAndPOV(panoData.location.latlng) ;
//panoClient.getPanoramaById(nextPanoId, showPanoData);

}
// Mostrar error
function handleNoFlash(errorCode) {
if(errorCode==603){
alert("Error: Flash no parece ser compatible con su navegador.");
return;
}
}

// Ir a una direccion
function showAddress(address) {
if (geocoder) {
geocoder.getLatLng(
address,
function(point) {
if (!point) {
alert("La direccion "+address+" no existe.");
} else {
map.setCenter(point, 15);
var marker2 = new GMarker(point);
map.addOverlay(marker2);

}
}
);
}
}

window.onload=loadMap;
y aki el index resumido
Cita:
<?php
session_start();
include "includes/config.php";
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<HTML xmlns=\"http://www.w3.org/1999/xhtml\">
<HEAD>


<link href="css/maps_style.css" type="text/css" rel="stylesheet">
<script type="text/javascript" src="http://maps.google.com/maps?file=api&amp;v=2&amp;sensor=false&amp;key=ABQ IAAAA0pV-ptVMTNh74X2ieccPmRShc2K0Wy7_vjdAj1GlREbf2qzUXxSa0w 1qnMNDYy1PxEoDiy22Wbto8A"></script>
<script type="text/javascript" src="js/maps.js"></script>
<script type="text/javascript" src="js/isiAjax.js"></script>
<script type="text/javascript">
function navegar(url){
myajax.Link(url,'cuerpo');
}
</script>

</HEAD>
<BODY onLoad="myajax=new isiAJAX('Cuerpo');">

<div id="ContentBody_1_1">
<div id="Button"><a href="#home.php" onClick="navegar(this.href)">Inicio</a></div>
<div id="Button"><a href="#mapa.php" onClick="navegar(this.href)">Mapa</a></div>
</div>
<div id="cuerpo"><?php include "home.php"; ?></div>


</BODY>
</HTML>
  #4 (permalink)  
Antiguo 10/02/2010, 09:39
 
Fecha de Ingreso: noviembre-2007
Mensajes: 264
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Problema al mostrar script de google maps

me he dao cuenta que en IE me da un error en la linea

var marcas = xmlDoc.documentElement.getElementsByTagName("marca ");

Error: 'documentElement' es nulo o no es un objeto
Codigo: 0

el caso es ke me funciona bien, pero muestra ese error. podria ser eso la causa??
como lo soluciono. un saludo
  #5 (permalink)  
Antiguo 11/02/2010, 02:16
 
Fecha de Ingreso: diciembre-2007
Ubicación: Barcelona
Mensajes: 289
Antigüedad: 16 años, 4 meses
Puntos: 8
Respuesta: Problema al mostrar script de google maps

Hola,

Viendo lo que has puesto, me parece que es un poco más complicado de lo que pensaba...

El error que dices que te da, he comprovado la sintaxis con otro XML y a mi me funciona. A lo mejor tu XML está mal, pero si dices que usando ese script en una página a parte (que no contenga el AJAX) te funciona, entonces el XMl estará bien.

Voy a intentar probar tu script como pueda y te digo el que, pero sin tus PHPs me será un poco complicado. Has intentado depurar el código?
  #6 (permalink)  
Antiguo 11/02/2010, 05:02
 
Fecha de Ingreso: noviembre-2007
Mensajes: 264
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Problema al mostrar script de google maps

el xml produce una salida como esta:

<marcas>
<marca lat="37.99392210215959" lng="-1.114685833454132" codigohtml="nombre" ico="ico1"/>
<marca lat="37.993998198369574" lng="-1.1144497990608215" codigohtml="nombre" ico="ico2"/>
</marcas>

con firefox funciona todo correctamente y no da errores, con ie sale el error que he puesto, funciona el mapa, pero las marcas no salen. y cn ajax no funciona en ningun de los dos, ni se ve el mapa sikiera. gracias
  #7 (permalink)  
Antiguo 08/03/2011, 22:34
 
Fecha de Ingreso: diciembre-2009
Mensajes: 3
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Problema al mostrar script de google maps

con ie no encuentra la ruta includes/maps.php

Etiquetas: google, maps
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 15:18.