Django Admin - Leaflet:以编程方式将标记添加到现有地图

时间:2016-05-05 00:01:46

标签: jquery django django-admin leaflet geodjango

models.py:

class Point(models.Model):
    point = models.PointField()

admin.py:

admin.site.register(Point, LeafletGeoAdmin)

一切都很棒。

但是,如果按下按钮,我想手动添加指向管理地图的指针。

模板/管理/ MyApp的/点/ change_form.html:

{% extends "admin/change_form.html" %}
{% block after_field_sets %}
<input type="button" id="startWatchButton" value="Show marker" />
{% endblock %}

的javascript:

$(function() {
    $("#startWatchButton").click(function() {
        var mymap = <How to select the initialized django map?>
        var marker = L.marker([51.5, -0.09]).addTo(mymap);
    });
});

如何选择已存在且已初始化的django管理地图?

1 个答案:

答案 0 :(得分:1)

成功结果的步骤:

  1. 睡个好觉
  2. Read the Docs
  3. 实施
  4.   

    您可以像往常一样使用Leaflet API。抓两个方法有两种   刚刚初始化的地图和选项的参考。

         

    ...

    <script type="text/javascript">
        window.addEventListener("map:init", function (e) {
            var detail = e.detail;
            ...
            L.marker([50.5, 30.5]).addTo(detail.map);
            ...
        }, false);
    </script>