我在官方文档中遵循这些简单的说明:https ://developers.google.com/maps/documentation/javascript/tutorial
当我第一次打开该网站时,一切正常。地图显示正常。问题是当我导航到网站的其他部分时。在我返回地图应该所在的位置后,地图不显示。
这是基本结构:
<ul>
<li><%= link_to "Home", root_path %></li>
<li><%= link_to "About", about_path %></li>
<li><%= link_to "Contact", contact_path %></li>
</ul>
“联系人”中的 Javascript:
<script type="text/javascript"
src="https://maps.googleapis.com/maps/api/js?key=xxx&sensor=false">
</script>
<script type="text/javascript">
function initialize() {
var mapOptions = {
center: new google.maps.LatLng(-34.397, 150.644),
zoom: 8,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map-canvas"),
mapOptions);
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
<h1>Contact</h1>
<p>
Address & phone number
</p>
<div id="map-canvas" style="width: 35em; height: 35em;"/>
因此,如果我在“主页”页面上打开该站点,然后导航到“联系人”,则没有地图。但是如果我刷新“联系人”站点,就会出现地图。可能是什么问题?
谢谢你。
编辑1:
我试图将我的代码放入准备好的函数中:
$.getScript('https://maps.googleapis.com/maps/api/js?key=xxx&sensor=false');
var mapOptions = {
center: new google.maps.LatLng(-34.397, 150.644),
zoom: 8,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map-canvas"),
mapOptions);
但是当我这样做时,代码会在这一行中断:
center: new google.maps.LatLng(-34.397, 150.644),