在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);