我遇到了javascript错误:
JavaScript运行时错误:无法检索未定义或空引用的“offsetwidth”属性
这是我的javascript代码块(myJavaScript.js):
function initializeMap() {
var lat = 41.4934579;
var lng = -90.50442090000001;
var myZoom = 14;
init(lat, lng, myZoom);
google.maps.event.addDomListener(window, 'load', init);
}
function init(lat, long, myZoom) {
var mapOptions = {
center: new google.maps.LatLng(lat, long),
zoom: myZoom
};
var map = new google.maps.Map(document.getElementById("map-canvas"), mapOptions);
var marker = new google.maps.Marker({
position: new google.maps.LatLng(lat, lng),
title: "ARA"
});
marker.setMap(map);
}
这是我的GoogleMaps.aspx:
<head id="Head1" runat="server">
<title></title>
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=[KEY]&sensor=true">
</script>
<script type="text/javascript" src="myJavaScript.js"></script>
<script type="text/javascript">
//Add onload to body
// $(window).load(function () {
// initializeMap()
//});
initializeMap();
</script>
</head>
有些评论员说我应该检查文件是否应该加载,所以我取消注释上面的内容,但是我有另一个错误:
0x800a1391 - JavaScript运行时错误:'$'undefined。
当我更改了我的javascript代码块(myJavaScript.js)时:
function initializeMap() {
var lat = 41.4934579;
var lng = -90.50442090000001;
var myZoom = 14;
function init() {
var mapOptions = {
center: new google.maps.LatLng(lat, lng),
zoom: myZoom
};
var map = new google.maps.Map(document.getElementById("map-canvas"), mapOptions);
var marker = new google.maps.Marker({
position: new google.maps.LatLng(lat, lng),
title: "ARA"
});
marker.setMap(map);
}
google.maps.event.addDomListener(window, 'load', init);
}
为什么我要在javascript文件中放入一个函数?它不会破坏可读性和可维护性吗?