在AJAX上初始化Google地图刷新了部分内容

我可以显示带有标记的谷歌地图没有问题,但是当使用ajax刷新部分时,我无法在部分内显示地图。 我猜这是因为当使用ajax时,最终的初始化行没有被触发:

function initialize() { var myLatlng = new google.maps.LatLng(-25.363882,131.044922); var mapOptions = { zoom: 4, center: myLatlng, mapTypeId: google.maps.MapTypeId.ROADMAP } 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); 

那么我可以使用其中一个ajax成功处理程序来初始化地图吗? 我试过没有运气,但语法可能是错误的,我不知道在哪里放这个:

 $(document).ajaxSuccess(function() { google.maps.event.initialize; }); 

有任何想法吗?

编辑:

我通过在链接中添加remote => true来加载属性/ index.html.erb页面的#response div中的部分_property_details.html.erb,这是show.js.erb代码:

properties/show.js.erb

$("#response").html("");

Google代码全部位于脚本代码中properties/index.html.erb页面的底部。

这应该使它工作,假设您的部分刷新是使用jQuery完成的。

 google.maps.event.addDomListener(window, 'load', initialize); $(document).ajaxStop(initialize);