我已设置代码显示没有错误,但我是新手。特别
addDomListener
职位。
var GoogleMap1 = function() {
return {
initMap: function() {
(function(jQuery) {
jQuery(document).ready(function() {
var myLatlng = new google.maps.LatLng(-25.363882, 131.044922);
var mapOptions = {
zoom: 4,
center: myLatlng
}
var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
var marker = new google.maps.Marker({
position: myLatlng,
map: map,
title: 'Hello World!'
});
google.maps.event.addDomListener(window, 'load', initialize);
});
})(jQuery);
}
};
}();
这是正确的还是可以改进的,特别是行:google.maps.event.addDomListener(window, 'load', initialize);
addDomListener的参考URL实际上是 https://developers.google.com/maps/documentation/javascript/examples/marker-simple
目前这将是一个错误,我想避免使用像ddDomListener这样的解决方案:
错误:TypeError:element为null Line: element.parentNode.removeChild(元件);
需要帮助。
答案 0 :(得分:0)
另一种方法是向运行初始化函数的google脚本添加回调。
<script type="text/javascript"
src="https://maps.googleapis.com/maps/api/js?v=3.exp&callback=initialize"></script>
然后创建初始化函数并将其附加到window object
var map;
window.initialize = function () {
var myLatlng = new google.maps.LatLng(-25.363882,131.044922);
var mapOptions = {
zoom: 4,
center: myLatlng
}
map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
var marker = new google.maps.Marker({
position: myLatlng,
map: map,
title: 'Hello World!'
});
}
请注意,地图已在函数外部初始化,因此可以在以后使用。 有了这个,就不需要指定要监听的事件。 一旦谷歌地图脚本完全加载,它就会调用回调函数。