0

OpenLayers.Sizeドキュメントによると、FramedCloud コンストラクターでオブジェクトを宣言することにより、OpenLayers ポップアップのサイズを構成できるはずです。

this.popup = new OpenLayers.Popup.FramedCloud('featurePopup',
    this.options.feature.geometry.getBounds().getCenterLonLat(),
    new OpenLayers.Size(80, 60),
    html,
    null, true, this.onPopupClose
);
map.addPopup(this.popup, true);

現在、レンダリングされるポップアップは、コンストラクターで使用するサイズに関係なく自動サイズ調整されます。

ここに画像の説明を入力

FramedCloud の autosizing 属性を手動で false に設定し、ポップアップの css スタイルを手動で調整しようとしましたが、必要な結果が得られませんでした。

OpenLayers 2.11 の問題リストで同様の問題を確認しましたが、回避策は見つかりませんでした。何か案は?

4

3 に答える 3

1
            this.popup.autoSize = false;

addPopup() の前にこの命令を追加します。

于 2013-03-29T18:37:33.290 に答える
0

これが他の人にとってどれほど役立つかはわかりませんが、この特定の例では、ダイアログの下部にあるフローティング div の結果としてスクロールバーがレンダリングされていました。CSS を更新することで、カスタム ディメンションを計算しなくても、きれいな自動サイズのポップアップを描画することができました。

于 2012-10-01T15:26:47.130 に答える
-1

同じ問題が発生しましたが、見つかった唯一の回避策は、たとえば AnchoredBubble を使用することです。

于 2012-09-26T18:36:16.583 に答える