尝试在Django中显示GoogleMap

cvxl0en2  于 2023-05-19  发布在  Go
关注(0)|答案(2)|浏览(227)

我想知道是否有人设法让谷歌Map在Django project内工作,如果是的话,他们能告诉我我可能做错了什么吗?
在base.html中,我在base.html的正文末尾有以下脚本:

<script src="{% static '/js/script.js' %}" ></script>
<script src="https://developers.google.com/maps/documentation/javascript/examples/markerclusterer/markerclusterer.js"></script>
<script async defer src=https://maps.googleapis.com/maps/api/js?key=”API_KEY”&callback=initMap"></script>
<script src="{% static '/js/maps.js' %}" ></script>

Script.js工作正常,map.js正在执行,但是map.js运行后,div元素不会显示。
在maps.js中,我有:

function initMap() {
    var map = new google.maps.Map(document.getElementById("map"), {
        //zoom: 3,
        zoom: 10,
        center: {
        lat: 46.619261, lng: -33.134766
        }
    });
    var labels = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    var locations = [
        { lat: 40.785091, lng: -73.968285},
        { lat: 41.084045, lng: -73.874245},
        { lat: 40.754932, lng: -73.984016}
    ];
    var markers = locations.map(function(location, i){
        return new google.maps.Marker({
            position: location,
            label: labels[i % labels.length]
        });
    });
    var markerCluster = new MarkerClusterer( map, markers, {imagePath: 'https://developers.google.com/maps/documentation/javascript/examples/markerclusterer/m' } );
}

我似乎没有任何Google API密钥问题。但是,我在index.html中有一个div,其中包含以下元素,并且没有显示map:

<div class="row">
    <!-- Map -->
    <div id="map" class="col-12"></div>
    <div class="col-12 mt-2 request-page">
        <h2>Map Will Go Above Here </h2>
    </div>
</div>

如果我在index.html中加载static并将脚本放置在index.html中,我可以得到要显示的Map,但理想情况下,我认为我应该在base.html中这样做。
我没有更改settings.pyviews.pyurls.py以适应GoogleMap,这是我的错误吗?
先谢谢你了。

xfyts7mz

xfyts7mz1#

如果有一个空白间隙,请创建一个CSS文件并添加#map {height:500px;width: 100%;},不要忘记将其链接到HTML。

ubby3x7f

ubby3x7f2#

这可能是因为div元素#map没有定义的高度。尝试添加style="height: 300px"到它。

相关问题