我在 WordPress 中创建了一个脚本来加载我所有的 JavaScript 文件,合并并压缩它们。在我使用的 JavaScript 文件和以下 JavaScript 文件中:
http://maps.googleapis.com/maps/api/js?sensor=false
虽然我的脚本运行良好,但谷歌地图加载的 JavaScript 文件看起来没有运行,以便从谷歌加载所有外部 JavaScript 文件。
谷歌地图文件在我生成的合并压缩后的 JavaScript 文件的最顶部,其内容如下:
window.google = window.google||{};
google.maps = google.maps||{};
(
function()
{
function getScript(src)
{
document.write('<'+'script src="'+src+'"'+' type="text/javascript"><'+'/script>');
}
var modules = google.maps.modules = {};
google.maps.__gjsload__ = function(name, text)
{
modules[name]=text;
};
google.maps.Load = function(apiLoad)
{
delete google.maps.Load;
apiLoad(
[
null,
[
[
[
"http://mt0.googleapis.com/vt?lyrs=m@183000000\u0026src=api\u0026hl=en-US\u0026",
"http://mt1.googleapis.com/vt?lyrs=m@183000000\u0026src=api\u0026hl=en-US\u0026"],
...
DATA
...
null,
null,
0,
"http://khm.googleapis.com/mz?v=115\u0026",
null,
"https://earthbuilder.google.com",
"https://earthbuilder.googleapis.com"
],
loadScriptTime
);
};
var loadScriptTime = (new Date).getTime();
getScript(
"http://maps.gstatic.com/intl/en_us/mapfiles/api-3/9/13b/main.js"
);
}
)();
以上内容与我通过网络浏览器直接访问 URL http://maps.googleapis.com/maps/api/js?sensor=false的内容相同。
现在的问题是,虽然我得到了正确的数据,但我在控制台中得到的 google mas 对象如下:
console.log(google);
Object
maps: Object
Load: function (apiLoad)
{
delete google.maps.Load;
...
data
...
}
__gjsload__: function(name, text)
{
modules[name] = text;
}
modules: Object
__proto__: Object
__proto__: Object
对于以下我得到:
console.log(google.maps.LatLng);
undefined