我有一个base.html和一个index.html,它扩展了base.html并填写了{% block content %}{% endblock %}
。但是,出于某种原因,我在块中处理启动Google地图的JavaScript不会创建地图 - 该页面为空白。如果没有扩展base.html(即只是通过在index.html中明确键入base.html中的所有内容),地图就可以正常工作。代码:
base.html文件
<!DOCTYPE html>
{% load static %}
<html>
<head>
<title>Title</title>
<link rel="stylesheet" type="text/css" href='{% static "mh_app/style.css" %}' />
</head>
<body>
<header id="header">
<div class="header-cont">
<h1>
Title
</h1>
<nav id="nav">
<ul>
<li>
<a href="{% url 'index' %}">Home</a>
</li>
<li>
<a href="{% url 'download' %}">Download</a>
</li>
<li>
<a href="{% url 'about' %}">About</a>
</li>
</ul>
</nav>
</div>
</header>
{% block content %}{% endblock %}
</body>
</html>
的index.html
{% block content %}
<div id='map'></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<script type='text/javascript'>
function initMap() {
var map = new google.maps.Map(document.getElementById('map'), {
center: {lat: 38.3499047, lng: -100.0770253},
zoom: 4
});
}
</script>
<script src="https://maps.googleapis.com/maps/api/js?key=<my_api_key>&callback=initMap" async defer></script>
{% endblock %}
我已经尝试在console.log
内粘贴一些initMap()
语句,它们运行得很好,所以我不知道为什么地图没有出现。
修改
的style.css
#map {
height: 90%;
width: 100%;
}
答案 0 :(得分:0)
你有map
div的样式吗?
为map
div添加高度和宽度,尝试将<div id="map"></div>
更改为<div id="map" style="width: 500px; height: 500px;"></div>