リーフレット0.7を使用していて、リーフレットプラグインを使用してスタティックラベルを追加したいとします。機能に関するラベル - ajaxコール
私はajax呼び出しでデータを取得します。私はどこに私のonEachFeature関数を配置してラベルを設定するのか分からない。私はjavascriptには比較的新しいですし、私はちょっと混乱していると思います。
このコードは、layer.bindLabel( 'static label')を使用している限り動作します。しかし、私はそれを私のajax呼び出しのデータで埋め込むことはできません。 レイヤーがajax呼び出しの前に作成されているため、データにアクセスできないことがわかりました。私のajax呼び出しのデータをLabelに取り込むコードをどうやって整えることができますか?
すべてのヘルプは大幅に編集
pointToLayer
で作成されたマーカーにあなたのラベルをバインドする必要が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