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

rai*_*lsy 4 ajax jquery google-maps ruby-on-rails

我可以显示带有标记的谷歌地图没问题,但是当使用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);
Run Code Online (Sandbox Code Playgroud)

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

$(document).ajaxSuccess(function() {
    google.maps.event.initialize;
});
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

编辑:

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

properties/show.js.erb

$("#response").html("<%= escape_javascript(render('property_details')) %>");

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

use*_*654 6

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

google.maps.event.addDomListener(window, 'load', initialize);
$(document).ajaxStop(initialize);
Run Code Online (Sandbox Code Playgroud)