1
リーフレットのライブラリを学び、クリックした機能をズームしようとしています。簡単な問題かもしれませんが、私はjsとリーフレットでかなり新しいです。 ここでこの投稿のようにこれを行う方法の例を見たHow to zoom on marker click event in Mapbox Leaflet? しかし、私はその例は、ajax呼び出しからデータを取得しているとは思わないので、ここで動作しないのですか?Click to clicked features
function callback (response) {
quake = L.geoJson(response,
{
onEachFeature: function (feature, layer)
{
layer.bindPopup("Mag: " + String(feature.properties.mag));
}
}).addTo(map);
map.fitBounds(quake.getBounds());
};
quake.on('click', function(e) {
map.setView([e.latlng], 12)
});
これも試しましたが、マーカーが定義されていないというエラーが発生しました。しかし、正しく理解すれば、L.geoJsonはデフォルトでマーカーを作成し、上の例のように現在は機能しませんので、それらを「震え」に保存します。
marker.on('click', function(e) {
map.setView([e.latlng], 12)
});
は、ここで私は誰かが
ありがとうございました!それは私が望むのと同じように機能しました。私は実際にforEach関数の中にハンドラを置こうとしましたが、レイヤの代わりにマーカーに置きました。 それで、あなたは、その層のすべてのインタラクティブなコードがforEachメソッドの中にある必要があるという、ajaxのgeoJSONを使って作業すると思いますか? – geogrow
マーカーをレイヤーに追加する必要があります。データがasncで返された場合は、関数の成功部分内にある必要があります。 – RedCrusador