2016-11-13 73 views
0

我有一個查詢返回城市的long/lat參數,並且想要在模板中顯示地圖。 從谷歌的指示,我不明白在哪裏貼javascript代碼。在Django模板中集成Google Maps API

我,而不是着手做到以下幾點:

  1. 創建的HTML模板地圖div(從base.html文件擴展)
  2. 與粘貼在javascript.html模板API密鑰的腳本
  3. 新增的JavaScript腳本在map.js文件中的靜態文件夾

控制檯表示:「initMap是不是一個函數」 誰能幫助?

回答

0

一個好習慣是在關閉body元素並加載這個內容中的所有js文件/代碼之前,在你的base.html中定義一個名爲footer的塊。

base.html文件

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
    <head> </head> 
    <body> 
    {% block footercontent %} 
    {% endblock %} 
    </body> 
</html> 

yourtemplate.html

{% extends "base.html" %} 
{% block footercontent %} 
     <script src="myscripts.js"></script> 
{% endblock %} 
0

所以我看起來像你可能示例腳本標籤複製的文件上,在控制檯單元的顯示錯誤thers不是名爲initMap的函數。您在腳本標記src結尾處看到有&callback=initMap,其中initMap是要在Google地圖js文件準備好使用時調用的函數的名稱。

也許你沒有在javascript.html模板中導入靜態文件夾的map.js文件。

臨提示:使用v=3參數有谷歌地圖API的穩定版本,像這樣(more info):

<script async defer 
src="https://maps.googleapis.com/maps/api/js?v=3 
    &key=YOUR_API_KEY&callback=initMap">