Antes de responder: ¡esto no es tan directo como cabría esperar!jquery: ¿cómo puedo cargar la API de Google Maps a través de ajax?
- que tienen un 'mostrar en el mapa' botón, que cuando se hace clic se abre una caja de diálogo /caja de luz con el mapa de Google en .
- que no quieren cargar el API de Google Maps en pageload, justo cuando un mapa ha sido solicitó
Este es el archivo php "mostrar en el mapa" botón pone en el cuadro de diálogo:
<div id="map_canvas"></div>
<script type="text/javascript">
$(function() {
//google maps stuff
var latlng = new google.maps.LatLng(<?php echo $coords ?>);
var options = {
zoom: 14,
center: latlng,
mapTypeControl: false,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById('map_canvas'), options);
var marker = new google.maps.Marker({
position: new google.maps.LatLng(<?php echo $coords ?>),
map: map
});
})
</script>
que he estado tratando de cargar la API antes ajaxing en el diálogo como este:
$('img.map').click(function(){
var rel = $(this).attr('rel');
$.getScript('http://maps.google.com/maps/api/js?sensor=false', function(){
$.fn.colorbox({
href:rel
})
});
})
esto no parece funcionar :(
También he intentado :
- añadiendo
<script src="http://maps.google.com/maps/api/js?sensor=false"></script>
al archivo ajax - type = "text/javascript" correr
$.getScript('http://maps.google.com/maps/api/js?sensor=false');
en doc.ready
el problema el navegador parece ser redirigido a un archivo api.js - ve una pantalla blanca
fresca. O podría haber modificado mínimamente su código original usando getJSON, como indiqué en mi respuesta actualizada. – Andrew