-1
我正在使用小册子0.7,并且想要使用leaflet.label插件添加静态标签。功能上的标签-ajax调用
我用ajax调用获取数据。我不确定在哪里放置我的onEachFeature函数来填充标签。我相对较新的JavaScript,并认为我对这个有点困惑。
只要使用layer.bindLabel('静态标签'),此代码就可以工作。但我无法用我的ajax调用中的数据填充它。 我知道该层是在ajax调用之前创建的,因此无法访问数据。我该如何安排代码来使用我的ajax调用中的数据填充标签?
任何帮助是极大的赞赏
var pointlayer= new L.GeoJSON(null, {
pointToLayer: function (feature, latlng) {
return L.marker(latlng, {icon: sandicon});
},
onEachFeature: function (feature, layer) {
layer.bindLabel(feature.properties.id, //Dynamic label
{noHide:true,direction:'auto'});
},
onEachFeature: function (feature, layer) {
layer.bindPopup('Test' + feature.properties.id);
}
}).addTo(map);
$.ajax({
url: "url",
dataType: 'jsonp',
cache: false,
jsonpCallback: 'getPoint',
success: handlePoint,
});
function handlePoint(data) {
pointlayer.addData(data);
};
感谢您的答复!你是这个意思吗?返回L.marker(latlng,{icon:sandicon})。bindLabel(feature.properties.gid,{noHide:true,direction:'auto'});当我尝试时,仍然没有运气。我可以添加一个静态字符串标签。是因为它无法到达你认为的财产吗?我没有得到任何错误,只是空标签 – geogrow
是的,这是我的意思。我正在设置一个例子。 – YaFred
我已更新答案 – YaFred