マップコンテナ外ポップアップ:マップ・コンテナと別のdivを超えるポップアップは、常に上に、私は成功せず.leaflet-popup-content-wrapper
でz-index
を使用Leaflet.js:私はこのようなマップ・コンテナの外にポップアップウィンドウを開く必要
。
私も使用L.marker([14, -45]).bindPopup(content,{autoPan:false}).addTo(map);
しかし、常にコンテナの中にポップアップを表示します。
マップコンテナ外ポップアップ:マップ・コンテナと別のdivを超えるポップアップは、常に上に、私は成功せず.leaflet-popup-content-wrapper
でz-index
を使用Leaflet.js:私はこのようなマップ・コンテナの外にポップアップウィンドウを開く必要
。
私も使用L.marker([14, -45]).bindPopup(content,{autoPan:false}).addTo(map);
しかし、常にコンテナの中にポップアップを表示します。
EDIT
回避策は、それが地図コンテナ親ではなく内部のマップ・コンテナに属しているように、「ポップアップ」自分で実装することです。
あなたは、マーカーの動きのトラッキングを実装する必要があるだろうが、リーフレットで、これはかなり簡単です:
map.latLngToContainerPoint()
"move"
イベントを使用L.DomUtil.setTransform()
translate3d
(ハードウェア加速翻訳)を適用する方法。map.on("move", function() {
movePopup();
});
function movePopup() {
var mapContainerRelativePos = map.latLngToContainerPoint(mymarker.getLatLng()),
x = mapContainerPos.left + mapContainerRelativePos.x,
y = mapContainerPos.top + mapContainerRelativePos.y;
L.DomUtil.setTransform(mypopup, {x: x, y: y}, 1);
}
デモ:https://jsfiddle.net/3v7hd2vx/54/
が次にあなたが開くとポップアップを閉じたままになっています。
オリジナル答え
L.Popup
は、地図要素の中に追加されます。したがって、デフォルトではマップコンテナの外側には拡張できません。
ただし、関連するHTML要素を取得して外部DOM親ノードに追加することで、マップコンテナにバインドされなくなるため、リーフレット1.0では「抽出」(popup.getElement()
)することができます。
これはまさに私が試みたものです...しかし、 "クローン化"要素が達成できるので良い答えではありませんでしたが、ポジショニングは良くない+マップに限定されていません。私は最高の答えは次のようなものだと思います。それは悲しいことではありません。 :(+1の@ghybsのために+1 –
それはまだ解決しないようですが、まだ動作しません。 – BryGom
回避策を追加しました – ghybs