0

我正在尝试将标记添加到 Django 管理页面中加载的传单地图,其中包含从 ajax 调用中检索到的数据。但是,我无法获得对可在用于覆盖 Django 管理模板的模板中使用的地图的引用。

如果我加载页面,打开控制台,然后运行下面的代码就可以了。标记被添加到地图中。

安慰:

var map = window['leafletmapid_location-map'];
L.marker([40.3830621, -111.773658]).addTo(map);

但是,如果我在模板中包含完全相同的代码,它就不起作用,因为它没有获得对地图的引用,我不知道为什么。

模板:

{% extends "admin/change_form.html" %}
{% load i18n admin_urls %}

{% block content %}{{ block.super }}
<script>
    var map = window['leafletmapid_location-map'];
    L.marker([40.3830621, -111.773658]).addTo(map);
</script>
{% endblock %}

如果我用以下内容替换整个脚本标记,我会得到未定义,我认为这是问题的原因。

模板:

<script>
    console.log(window['leafletmapid_location-map'])
</script>

但是,如果将模板更改为以下内容,我会得到 window 对象,并且它显示它具有可用的 leafletmapid_location-map 对象。

模板:

<script>
    console.log(window)
</script>
4

0 回答 0