我正在尝试创建一个动态加载Google地图的书签,并将其显示在对话框中。当我在加载bookmarklet JavaScript的同一站点(本例中为localhost)上运行它时它工作正常,但是当我去NYTimes.com之类的第三方站点时却没有。我在Firebug中没有看到任何HTTP错误,但当bookmarklet代码尝试实例化新的google.maps对象时,控制台会显示以下消息:
TypeError: google.maps is undefined
我正在尝试非法的跨域调用,或者我的实现可能有问题吗?
这是从我的bookmarklet引导程序加载地图脚本的代码:
var mapsScript = document.createElement("script");
mapsScript.type = "text/javascript";
mapsScript.src = "http://maps.googleapis.com/maps/api/js?libraries=places&key=KEY&sensor=true&callback=CALLBACK";
document.body.appendChild(mapsScript);
稍后,回调有以下一行:
var center = new google.maps.LatLng(la, ln);