[英]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.