我正在使用jinja2模板将ID引用到我的标记。 我有基于不同类别的各种群集组。我正在尝试根据基于Ajax的ID将点击事件添加到标记中
//clusters
var Buildingclusters = L.markerClusterGroup({});
var Farmclusters = L.markerClusterGroup({});
{% for item in markers %}
//create map icons from database
var mapicons= L.icon({
iconUrl: '{{ item[2] }}',
iconSize: [30, 30]
});
//rendering the markers
{% if item[4] == 'Building' %}
var Buildings{{ item[0] }} = L.marker({{ item[5:] }}, {icon: mapicons})
Buildingclusters.addLayer(Buildings{{ item[0] }})
map.addLayer(Buildingclusters)
{% elif item[4] == 'Farmland or plantation' %}
var Farms = L.marker({{ item[5:] }}, {icon: mapicons})
Farmclusters.addLayer(Farms)
map.addLayer(Farmclusters)
{%endfor %}
AJAX
我的AJAX调用仅起作用是因为我为建筑物分配了一个ID,然后再次调用了for循环,有没有一种方法可以立即将此ID添加到所有集群组,因此当我单击标记时,我可以获得结果
注意:“ pid”来自数据库,代表标记的ID
{% for item in markers %}
Buildings{{item[0]}}.on({
click: function (evt) {
$.ajax({
url: "/~s1774346/cgi-bin/queries.py",
async: true,
type: "post",
datatype:"json",
data: {'pid': {{item[0]}} },
success: markerModal
})
}
})
function markerModal(result) {
//do something
}
{%endfor %}