我可以显示带有标记的谷歌地图没有问题,但是当使用 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;
});
有任何想法吗?
编辑:
我通过添加到链接#response
在属性/index.html.erb 页面的 div 中加载部分 _property_details.html.erb,这是 show.js.erb 代码:remote => true
properties/show.js.erb
$("#response").html("<%= escape_javascript(render('property_details')) %>");
Google 代码全部位于页面底部的properties/index.html.erb
脚本标记中。