私の目的は、別のLayerGroup
にすでに定義されているMarker
ごとに追加のポップアップを追加することです。これらのPopups
はリーフレットLayerControl
によって制御され、追加のポップアップを同時に表示/非表示にする必要があります。リーフレット:ポップアップのレイヤーグループは幅と高さを変更できません
リンク先の画像で見ることができるように、それは素晴らしい作品。私の問題は、今はが、これらのポップアップのサイズをに減らしたいと思うということです。 maxWidth
とmaxHeight
、それがすべてでは動作しません:
は、ここに私の別のLayerGroup
にポップアップを追加する機能を使用しよう、とPopupOptions
リーフレットを使用しています。
私が意図したとおり、私は直接マップに新しいポップアップを追加する場合、それが動作ことに気づいたが、私はLayerControl
からLayerGroup
を制御できるようにする必要があります。私は目標を達成するためにCSSを通してハッキングを使用する必要がありますか?私の既存のコードでは簡単な解決策はありませんか?
layers.conf.ts
const markers: L.Marker[] = GlobalMapService.jsonToArray(globalMapService.markersLayer.getLayers());
const labelsLayer = L.layerGroup(null); // LayerGroup containing my Popups
markers.forEach((marker, index) => {
L.popup({
offset: [2, -25], // This works (needed for Angular integration).
closeButton: false, // This works (as you can see).
maxWidth: 30, // This doesn't work at all with a LayerGroup.
maxHeight: 25 // Same as above.
})
.setLatLng(marker.getLatLng())
.setContent('ID : ' + (index + 1))
.addTo(labelsLayer);
});
return labelsLayer;
layers.conf.ts
const overlays: L.Control.LayersObject = {
'Labels': labelsLayer
};
globalMapService.overlays = overlays;
LeafletMapComponent.ts
const map = L.map(this.mapEl.nativeElement, {
center: [51.505, -0.09],
zoom: 7,
layers: [
this.leafletService.baseLayers['Standard'], // BaseLayer
]
});
L.control.layers(this.leafletService.baseLayers, this.globalMapService.overlays)
.addTo(map);
これは私が最後に使ったものですが、実際にはちょっと悲しいです... –
あなたは悲しい気持ちになって申し訳ありません...本当にあなたのコンソールに何かエラーはありませんか? – Baptiste
何もない、それは今クラスでうまくいく –