デフォルトでは、リーフレットが提供するものとは異なる方法でGeoJSONをレンダリングします。残念ながら、style()
関数を変更するだけでは、作成するベクトルグラフィックスをより詳細に制御する必要はありません。GeoJSON用のカスタムリーフレットレンダラー
これを行う慣習的な方法は何ですか?私は、src/layers/vector/SVG.js
にあるデフォルトのSVGレンダラーの多くの部分を再利用できると考えています。しかし、私は1つのGeoJSONレイヤー/ 1つのFeatureGroupに置き換えるだけです。これらのどれもPath
から継承していないため、これは可能ではないようです。
私は非常に基本的な方法で、SVGクラスを拡張してみました:
import {SVG} from 'leaflet/src/layer/vector/SVG'
export default class CustomSVG extends SVG {
_updatePoly (layer, closed) {
console.log('Custom renderer in action')
super._updatePoly(layer, closed)
}
}
して、リーフレットを初期化中にレンダラとして設定し、これはTypeError: max2 is undefined
(それが由来未処理の約束を拒否されて失敗私はreact-leaflet
を使用しています)。
これはなんですか?
「ベクターグラフィックスに対するより優れた制御」とはどのようなものが必要ですか? – IvanSanchez