0
我有一個base.html和一個index.html,它擴展了base.html並填充了一個{% block content %}{% endblock %}
。但是,由於某種原因,我在塊中處理啓動Google Map的JavaScript不會創建地圖 - 頁面是空白的。在不擴展base.html的情況下(即只需在base.html中直接輸入index.html中的所有內容),地圖工作正常。代碼:Django模板不會在塊內運行Google Maps JavaScript
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 %}
我試着堅持內initMap()
一些console.log
語句,它們運行得很好,所以我不知道爲什麼地圖沒有出現。
編輯
的style.css
#map {
height: 90%;
width: 100%;
}
雖然寬度不是強制性的,你必須設置一個高度,至少。確實如此。但是我們不知道應用了什麼,因爲OP沒有發佈任何CSS。 – MrUpsidown
所以這工作!通過將高度設置爲500px,彈出地圖。但是,之前我已將身高設置爲90% - 關於爲什麼90%設置沒有做任何事情的任何想法? – HLH
沒關係,想通了!這是因爲我沒有父容器 - body和html - 設置爲100% – HLH