谷歌地图v3 API-什么时候可以安全启动
Google Maps v3 API - When is it safe to start?
大多数在线加载Google Maps API的示例都会等待窗口load
事件来实际创建地图,即:
<script src="http://maps.googleapis.com/maps/api/js?key=myKeyHere&sensor=false">
</script>
<script>
function initialize()
{
var mapProp = {
center:new google.maps.LatLng(51.508742,-0.120850),
zoom:5,
mapTypeId:google.maps.MapTypeId.ROADMAP
};
var map=new google.maps.Map(document.getElementById("googleMap")
,mapProp);
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
取自http://www.w3schools.com/googleapi/google_maps_basic.asp
我的问题是,是否有必要等待窗口加载事件?特别是,一个DOMContentReady处理程序就足够了吗?我的经验表明,它通常是这样,但我偶尔会从用户那里得到奇怪的错误,比如初始化函数中的google.maps.MapTypeId is undefined
。
等待加载事件的主要原因是,在初始化映射对象之前,包含映射的div需要有一个大小。
如果在包含该元素的div具有大小之前初始化google.maps.Map,API将获得该元素的零大小,并加载中心位于左上角的地图。人们遇到这个问题的例子已经很多了。
这可以通过在加载事件触发后触发映射对象上的google.maps.Map resize事件来解决。
相关文章:
- 我的jQuery插件参数没有正确启动,遇到了问题
- chrome扩展:尽管运行了at:documentidle,js脚本还是过早启动
- 从控制器返回后Ajax启动事件激发
- 如何在读取XLS/XLSX本地文件时,使用IE的javascript代码启用未标记为安全的ActiveX控件
- Meteor上的启动页面
- 如何防止网页加载后自动启动功能
- 使用javascript存储变量的最安全方式
- 如何从JavaScriptInterface启动Navigation Drawer
- window.on.scroll事件未启动
- 单击按钮后启动javascript提示
- 是否存在React Native“;WEB代码安全防护”;
- 内容安全策略:页面's设置阻止加载资源
- 在javaservlet doPost方法中启动线程时,无法返回异常消息
- spine.js在启动时填充模型实例
- 如何在所有ng点击事件AngularJS上启动一个方法
- 如何通过安全的https连接在javascript中使用基于soap xml的Web服务
- 不安全的 JavaScript 尝试启动带有 URL 的框架的导航更改 - 如何尝试捕获它
- 谷歌地图v3 API-什么时候可以安全启动
- 量角器-启动chrome与禁用web安全为cors
- 不安全的JavaScript试图为带有URL的框架启动导航