リーフレットマップを追加したreact/reduxアプリケーションがあります。リーフレット・マップは、geoJSONを介して移入されています。ユーザーがマップ機能をクリックしてreduxアクションを呼び出す方法はありますか?私は本当にユーザーがポップアップをクリックしたときにアクションを実行できるようにしたいと思います。ユーザーがクリックした機能のID番号を保存して、データを取得して店舗に入れ、その機能の詳細が記載された別のページを開くことができるようにしたいと思います。リーフレットマップからreduxアクションを呼び出す
これは私がリーフレットに持っているものです。
myLayer = L.geoJSON(features, {
//only points here
filter: function(feature, layer) {
return (feature.geometry.type == "Point");
},
//make each point a circle
pointToLayer: function (feature, latlng) {
return L.circleMarker(latlng, geojsonMarkerOptions);
},
onEachFeature: function(feature, layer) {
//popup contents
var customPopup = `<div class='popuplink' > <-----user clicks
<p>${feature.properties.title}</p></div>`;
//popup options
var customOptions =
{
width: '72', //about 1 inch
className: 'custom'
};
//create layer
layer.bindPopup(customPopup, customOptions);
}
});
myLayer.addTo(map);
私がクリックしたときに、私が欲しいのページに行くことをポップアップで、リンクに入れてみました。 (私は、アプリケーションで反応ルータを使用しています)。このように:
しかし、私がそれを行うと、還元型ストアINIT全体が呼び出され、すべてが失われます。誰かが私になぜこれが起こっているのか説明することができますか?私はそのリーフレットを理解し、それぞれが自分の状態を維持する。しかし、そこに私の店を失うことなく地図から行動を呼び出すことができるようにそれらの間に橋を形成する方法はありますか?
あなたのリーフレット構成成分をラップし、それのための店を作る場合は、次のマップ自体に
が、私はそうのようなポップアップを作成しましたか? –