使用AJAX将ID分配给不同的标记群集组

时间:2018-07-26 07:24:04

标签: jquery ajax leaflet

我正在使用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 %}

0 个答案:

没有答案