Estoy trabajando en local. En una de mis plantillas obtengo las coordenadas geográficas a partir de la dirección del cliente y, a partir de ahí, muestro el mapa de localización correspondiente. Hasta la fecha todo había funcionado correctamente pero, de pronto algunos de los mapas han dejado de verse (siempre los mismos).
He mirado en la tabla (phpMyAdminn) para ver si en el registro del cliente que no muestra el mapa están grabadas las coordenadas y todo está bien. Las coordenadas están grabadas. También he reparado esa tabla y nada... el mapa sigue sin aparecer.
He ido eliminando código por si hay algo que impida que se vean esos mapas, pero tampoco he tenido éxito. Les adjunto ese código simplificado a ver si ven algo que pueda estar mal. Como verán hay tres alert. En los registros en que aparece el mapa, también se me muestran las coordenadas a través del alert, sin embargo, cuando no se muestra el mapa tampoco aparecen las coordenadas en el alert, lo cual es lógico pero, en cambio, esas coordenadas sí están grabadas en la base de datos.
Código PHP:
<?php
/**
* PLANTILLA DETALLES CON POSICIÓN DE CÁMARA OK
*
*/
/*NO BORRAR ESTA LINEA*/
defined( '_SOBI2_' ) || ( trigger_error("Restricted access", E_USER_ERROR) && exit() );
/* ------------------------------------------------------------------------------
* Plantilla para vista de detalles
* ------------------------------------------------------------------------------
*/
?>
<?php HTML_SOBI::renewal( $config,$mySobi ); ?>
<head>
</head>
<body onload="initialize()" onunload="GUnload()";>
<!-- STREETVIEW =========================================================================== -->
<script type="text/javascript" src="http://maps.google.com/maps?file=api&&v=2&key=ABQIAAAAe0JxibXmIF0Aj_ppFrgdvRT2yXp_ZAY8_ufC3CFXhHIE1NvwkxQsYhlqfq75aCjT3yBUD8IPWbv0wg"></script>
<script type="text/javascript">
var map;
var myPano;
var panoClient;
var marker;
var InfoHTML = null;
var overlayInstance = null; // Líneas azules
var lat;
var lng;
var lastMarkerLocation;
var POVyaw;
var POVpitch;
var POVzoom;
POVyaw = <?php echo $fieldsObjects['field_yaw']->data; ?>;
POVpitch = <?php echo $fieldsObjects['field_pitch']->data; ?>;
POVzoom = <?php echo $fieldsObjects['field_zoom']->data; ?>;
lat = <?php echo $fieldsObjects['field_latitude']->data; ?>;
lng = <?php echo $fieldsObjects['field_longitude']->data; ?>;
lat = parseFloat(lat);
lng = parseFloat(lng);
alert("lat "+lat);
alert("lng "+lng);
function initialize() {
if (GBrowserIsCompatible()) {
//panoClient = new GStreetviewClient();
var latlng = new GLatLng(lat, lng);
alert ("latlng "+latlng);
map = new GMap2(document.getElementById("map_canvas"));
map.setCenter(latlng, 15);
//
map.addControl(new GSmallMapControl());
map.addControl(new GMapTypeControl());
// HE QUITADO LAS INSTRUCCIONES QUE CONFIGURAN EL MARCADOR...
//Centramos el mapa y mostramos el marcador
marker = new GMarker(latlng, {icon: guyIcon, draggable: true, autopan:true, bouncy: true });
map.addOverlay(marker);
}
} // FIN initialize()
//============================================================================================================
//
</script>
<table width="98%" cellpadding="3" cellspacing="0">
<?php echo "<br>";?>
<div id="map_canvas" class="stviewcaja" ></div>
<div><input id="btn" type="button" bgcolor="#E3DFDA" onclick="toggleOverlay()" value="Ocultar líneas azules"/></div>
<?php echo "<br>";?>
<div name="pano" id="pano" class="stviewcaja" ></div>
<div id="status"></div>
</table>
</body>
En fin, cualquer ayuda será bienvenida.
Muchas gracias,
Luisa