前提・実現したいこと
地元の飲食店のテイクアウト情報について、Googleマップを使ったまとめサイトを作ろうとしています。
Googleマップと連携する際、django-leafletというものが使えるのではないかと思いました。
https://pypi.org/project/django-leaflet/
まずは、Djangoとの連携の前にLeafletの使い方を把握しようと思い、下記のQuickStartを参考にしてやってみようとしました。
https://leafletjs.com/examples/quick-start/
発生している問題・エラーメッセージ
実際に起動してみましたが、地図は表示されません。
ブラウザコンソールを見ると、下記のエラーが出ていました。(しかし、こちらのエラーは他のサイトを見ても出ていることに、後になって気づきました。本件の質問とは関係無さそうだと判断しました。そのため、申し訳ありませんが、質問のタイトルも修正させて頂きます。)
DevTools failed to parse SourceMap
該当のソースコード
※ご回答を頂き、現在は修正しています(下記「ご回答を踏まえた修正」に記載)
html
1{% extends "base.html" %} 2{% load static %} 3{% load bootstrap4 %} 4{% block extrahead %} 5<link rel="stylesheet" type="text/css" href="{% static 'css/main.css' %}"> 6<link rel="stylesheet" href="https://unpkg.com/leaflet@1.6.0/dist/leaflet.css" 7 integrity="sha512-xwE/Az9zrjBIphAcBb3F6JVqxf46+CDLwfLMHloNu6KEQCAWi6HcDUbeOfBIptF7tcCzusKFjFw2yuvEpDL9wQ==" crossorigin=""/> 8<script src="https://unpkg.com/leaflet@1.6.0/dist/leaflet.js" 9 integrity="sha512-gZwIG9x3wUXg2hdXF6+rVkLF/0Vi9U8D2Ntg4Ga5I5BZpVkVxlJWbSQtXPSiUTtC0TjtGOmxa1AJPuV0CPthew==" crossorigin=""> 10<script type="text/javascript"> 11var mymap = L.map('mapid').setView([51.505, -0.09], 13); 12</script> 13{% endblock %} 14{% block content %} 15<div id="mapid"></div> 16{% endblock %}
補足情報(FW/ツールのバージョンなど)
開発環境で作業をしており、
http://127.0.0.1:8000/
で起動しています。
何のエラーも出ておらず、Djangoの起動自体には問題ないと思います。
関係無いかもしれませんが、バージョンを記載します。
Django 3.0.5
django-bootstrap4 1.1.1
django-leaflet 0.26.0
ご回答を踏まえた修正
kei344さんから頂いたアドバイスに従って、JavaScriptのコードを読み込む位置を、<div id="mapid">の後ろに持って行きました。
また、
<div id="mapid" style="height: 150px"></div>
という形で、cssを追記しました。
修正後のコードは、下記の通りです。
html
1{% extends "base.html" %} 2{% load static %} 3{% load bootstrap4 %} 4{% block extrahead %} 5<link rel="stylesheet" type="text/css" href="{% static 'css/main.css' %}"> 6<link rel="stylesheet" href="https://unpkg.com/leaflet@1.6.0/dist/leaflet.css" 7 integrity="sha512-xwE/Az9zrjBIphAcBb3F6JVqxf46+CDLwfLMHloNu6KEQCAWi6HcDUbeOfBIptF7tcCzusKFjFw2yuvEpDL9wQ==" crossorigin=""/> 8{% endblock %} 9{% block content %} 10<div id="mapid" style="height: 150px"></div> 11<script src="https://unpkg.com/leaflet@1.6.0/dist/leaflet.js" 12 integrity="sha512-gZwIG9x3wUXg2hdXF6+rVkLF/0Vi9U8D2Ntg4Ga5I5BZpVkVxlJWbSQtXPSiUTtC0TjtGOmxa1AJPuV0CPthew==" crossorigin=""> 13<script type="text/javascript"> 14var mymap = L.map('mapid').setView([51.505, -0.09], 13); 15</script> 16{% endblock %}
その結果、
という表示がなされるようになりました。
しかし、まだ、地図は表示されない状況です。
何か、お気づきの点がありましたら、ご教示頂ければ幸いです。よろしくお願い致します。