在Ajax中引用标记ID以提高性能

时间:2018-07-16 17:39:46

标签: jquery ajax leaflet

我有很多标记,并且我试图将标记ID引用到click事件,以便以模式形式访问其各个属性

 //clusters
var markers= L.markerClusterGroup({
 chunkedLoading: true,
 disableClusteringAtZoom: 15,
  minZoom : 2
 });

% for item in markers %}

//create map icons from database
 var mapicons= L.icon({
    iconUrl: '{{ item[2] }}',
    iconSize: [30, 30]

});

  var marker{{ item[0] }} = L.marker({{ item[3:] }}, {icon: mapicons})
  marker{{ item[0] }}.bindTooltip('{{ item[1] }}');

  markers.addLayer(marker{{ item[0] }});
  map.addLayer(markers)
  { % endfor %}

这有效,但是我知道它的方法不正确,因为我再次在ajax中调用for循环,以引用其id为“ item [0]”,这会影响性能。

//ajax call
 {% for item in markers %}
  marker{{item[0]}}.on({
  click: function (evt) {
   $.ajax({
 url: "/~s16/c-bin/queries.py",
 async: true,
 type: "post",
 datatype:"json",
 data: {'pid': {{item[0]}} },
    success: markerModal
  })
}
function markerModal(response) {
 // Doing stuff here with response
  }
{ % endfor %}

0 个答案:

没有答案