单击ajax调用上的Leaflet Marker消息

时间:2015-07-23 14:17:33

标签: angularjs leaflet

我在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;
    }

1 个答案:

答案 0 :(得分:0)

@muzaffar这是[jsfiddle] [1]和解决方案

[1]:enter code here http://jsfiddle.net/d2p19vn4/3/