我阅读了下面关于如何获取谷歌地图的article,以及如何使用RequireJS的gmaps.js。但是,当我构建我的项目时,RequireJS与Almond互换。在上面的文章中,它指出Almond将不能与RequireJS异步插件一起工作。如果没有异步插件,谷歌的依赖项就不会加载,gmaps.js会抛出一个错误。
有没有办法解决这个问题,并且仍然在使用Almond而不是RequireJS的项目中加载谷歌地图代码?
发布于 2013-06-27 23:18:10
是的,我也发现了这个。它说,动态库不能加载。我想你得把它下载到本地。
发布于 2016-07-14 02:24:48
Almond.js can't handle with asynchronous plugins。您可以使用jQuery.Deferred加载库。
var googleMapsLoader = function(func, options) {
var defaults = {
"sensor" : "false",
"v" : "3",
"key" : "",
"language" : "pt",
"region" : "br",
"libraries": ""
};
$.when($.ajax({
type: "GET",
dataType: "script",
data: $.extend({}, defaults, options),
url: "https://maps.google.com/maps/api/js",
crossDomain: true
})).then(function() {
func();
});
};
/*
* Loading Google Maps API with $.Deferred.
*/
googleMapsLoader(function() {
// You may call your code here.
}, {
"libraries" : "geometry,places",
"v" : "3.7"
});使用$.Deferred和Maplace查看this example。
https://stackoverflow.com/questions/13898984
复制相似问题