0

我想用 for 循环创建几个 django-leaflet 映射实例,并为每个实例提供不同的纬度和经度。顺便提一下;每个 Sportclub 对象都有一个位置字段,它是 PointField 只是我想要这样的东西,但是这段代码不能正常工作,它只显示一张带有标记的地图,而不是每个对象的一张地图:

{% for sportclub in sportclubs %}
{% leaflet_map "gis" callback="map_init" %}
  <script type="text/javascript">
          function map_init(map, options) {
              var lon = "{{ sportclub.location.x }}";
              var lat = "{{ sportclub.location.y }}";
              map.setView([lat, lon], 12  );
              L.marker([lat, lon]).addTo(map);
          }
      </script>
{% endfor %}
4

1 回答 1

0

您在map_initfor 循环的每次迭代中重新定义函数,尝试给每个函数一个唯一的名称

{% for sportclub in sportclubs %}
{% leaflet_map "gis" callback="map_init_{{ sportclub.id }}" %}
  <script type="text/javascript">
      function map_init_{{ sportclub.id }}(map, options) {
          ...
于 2019-08-25T00:47:00.407 回答