我在leafletJS上有一个标记,点击后我需要调用ajax调用然后
markers.push({
id: 'abc_' + j,
lat: abcLatLonOptions[j][0],
lng: abcLatLonOptions[j][1],
layer: 'abc',
icon: {
iconUrl: icons['abc'].icon,
iconSize: [16, 16],
popupAnchor: [0, 0],
},
message: complieAbcMessage(lat, lon, startTime, eta, calculatedEta, speed)
}
现在取决于lat和lon我需要检索一些数据然后显示。上面的函数有效,但问题是我有1000个标记并且我循环标记并且在添加标记时调用函数complieAbcMessage并调用ajax,我不希望这种情况发生
如何在添加标记时避免调用该函数并仅在onclick上调用它?
更新1:
function complieAbcMessage(lat, lon, startTime, eta, calculatedEta, speed) {
var tide_level = 7.5;
var tideWindowRequest = $.ajax({
type: "GET",
async: false,
url: "https://api.sealevelresearch.com/1/predictions/tide-windows/liverpool-gladstone-dock/?start=" + startTime+ "Z&end=" + eta+ "Z&tide_level=" + tide_level,
contentType: "application/json; charset=utf-8"
});
return tideWindowRequest;
}
答案 0 :(得分:0)
@muzaffar这是[jsfiddle] [1]和解决方案
[1]:enter code here
http://jsfiddle.net/d2p19vn4/3/