1

開いているレイヤーにベクターレイヤーがあります。http://www.geos.ed.ac.uk/~s0825955/cgi-bin/maps6.pl

選択すると、選択した書式設定の意図が使用され、ポップアップも表示されます。マウスがレイヤー上に移動したときに選択した書式設定が表示され、機能がクリックされたときにのみポップアップが表示されるようにします。

コントロールに追加しようとし{hover: true}ましたSelectFeatureが、マウスをマップ上に移動するとポップアップが表示されます。

また、ポップアップがリッスンしない 2 つ目の機能コントロールを追加しようとしましたが、スタイル マップもこれを認識しません。

機能が選択されていないホバリングに別のスタイルを設定する方法はありますか?

4

1 に答える 1

0

一度にアクティブにできる SelectFeature コントロールは 1 つだけhighlightOnly = trueです。OpenLayers ドキュメントから:

highlightOnly {Boolean} - true の場合、実際には地物を選択せず​​ (レイヤーの選択された地物配列に配置します)、強調表示するだけです。

スタイルを変更するだけの 2 つ目の SelectFeature コントロールを追加してみてください。次のようになります。

var hover_feature_control = new OpenLayers.Control.SelectFeature(
    [your_layer],
    {
        hover: true,
        highlightOnly: true,
        renderIntent: "temporary"
    }
);

renderIntent プロパティは、スタイル マップでホバーしたいスタイルの名前と一致する必要があります。

    styleMap: new OpenLayers.StyleMap({
        'default': default_marker_style,
        'temporary': hover_marker_style
    })

{hover: true}ポップアップを管理するコントロールから必ず削除してください!

于 2013-07-15T18:54:41.537 に答える