使用 Javascript/JQuery 使用 Ajax 加载 Google Maps API,回调设置不正确
Loading Google Maps API with Ajax using Javascript/JQuery, Callback not setup correctly
我希望得到一些关于让这个脚本工作的指导。地图加载正常,但回调设置不正确,因此每次单击按钮时,页面都会不断将 Google 地图 API 脚本附加到文档中。
我正在使用JQuery的$.load将HTML页面(map.html)添加到DOM元素(div容器)中。
$('.button').click(function() {
$('#mapcontainer').load('/map.html');
});
这是map.html用来加载地图的内容,我使用的脚本起源于这里:https://stackoverflow.com/a/12602845/1607449
<script>
var gMapsLoaded = false;
window.gMapsCallback = function(){
gMapsLoaded = true;
$(window).trigger('gMapsLoaded');}
window.loadGoogleMaps = function(){
if(gMapsLoaded) return window.gMapsCallback();
var script_tag = document.createElement('script');
script_tag.setAttribute("type","text/javascript");
script_tag.setAttribute("src","http://maps.google.com/maps/api/js?key=KEYGOESHERE&sensor=false&callback=gMapsCallback");
(document.getElementsByTagName("head")[0] || document.documentElement).appendChild(script_tag);
}
$(document).ready(function(){
function initialize(){
var mapOptions = {
}
};
map = new google.maps.Map(document.getElementById('map_canvas'),mapOptions);
}
$(window).bind('gMapsLoaded', initialize);
window.loadGoogleMaps();
});
</script>
<div style="height:400px;width:650px;" id="map_canvas"></div>
以下是设置回调以动态加载Google Maps Javascript API的另一个不同方法的示例: http://www.vijayjoshi.org/2010/01/19/how-to-dynamically-load-the-google-maps-javascript-api-on-demand-loading/这就是我希望通过修改当前使用的脚本(而不是对新脚本进行反向工程)来实现的。
谢谢。
编辑:解决了问题,解决方案在下面发布回应
想出了一个解决方案,基本上我的回调是不必要的。这是我使用的:
$('.button').click(function() {
$('#mapcontainer').load('/map.html', function () {
initialize();
});
});
和
<script>
function initialize(){
var mapOptions = {
///Map options go here
}
};
map = new google.maps.Map(document.getElementById('map_canvas'),mapOptions);
}
</script>
<div style="height:400px;width:650px;" id="map_canvas"></div>
相关文章:
- jQuery使用api获取typeform结果
- 使用API在我的网站Google-Map上显示搜索地址的纬度和经度
- 使用api在facebook页面上发布图片或状态
- 无法使用API-node.js从Google Drive下载文件
- 如何使用API从多个IMDB ID获取电影信息
- PHP中的Curl请求-使用API
- 使用 API 注册创建节点.js API 框架
- 使用 API javascript 设置 AngularJS 模板
- 计算使用API观看youtube视频的百分比
- 如何使用API URL的JSON.parse将JSON字符串更改为Javascript对象
- 使用API的Chargify问题:;不允许访问”;
- 如何使用API从SMTP服务器访问和提取电子邮件
- 使用API平台打开Chrome扩展
- 如何使用Api v3在谷歌地图上放置图像
- 使用数组对象从javascript使用api到javascript使用sightly
- 在javascript中使用API v3检索Google日历事件
- 使用 API 下载文件不起作用
- 使用 API v3.0 为特定视频创建 Youtube“喜欢”按钮
- 是否可以确定用户是否完成了使用 API 观看嵌入的 youtube 视频
- JWPlayer在使用API加载方法时无法在iPad / iPhone上播放