[英]jquery: how can i load the Google Maps API via ajax?
在你回答之前:這並不像你期望的那樣直截了當!
這是php文件,“在地圖上顯示”按鈕放入對話框:
<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>
我一直在嘗試在對話框中ajax之前加載API,如下所示:
$('img.map').click(function(){
var rel = $(this).attr('rel');
$.getScript('http://maps.google.com/maps/api/js?sensor=false', function(){
$.fn.colorbox({
href:rel
})
});
})
這似乎不起作用:(
我也嘗試過:
<script src="http://maps.google.com/maps/api/js?sensor=false"></script>
到ajax文件 $.getScript('http://maps.google.com/maps/api/js?sensor=false');
在doc.ready上 瀏覽器似乎被重定向到api.js文件的問題 -你看到一個白色的屏幕
謝謝你指出我正確的方向安德魯,我的問題是api請求中的回調是強制性的加載api按需。
這是我最后的jquery代碼:
//in doc.ready
$('img.map').click(function(){
var rel = $(this).attr('rel');
$('body').data('map_href', rel ).append('<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false&callback=show_map"></script>');
})
function show_map(){
$.fn.colorbox({
href:$('body').data('map_href')
})
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.