openlayersホバーが使用するデフォルトの色を変更するにはどうすればよいですか?


8

onselectedHover?を使用すると、highlightCtrlの色を変更できますか?デフォルトは水色です。

別のものに変更したい。赤?この値がどこに定義されているか誰か知っていますか?


問題が解決しました !!OpenLayers.StyleMapに新しいスタイルを追加しました。'default'、 'select'の特定のスタイルがありましたが、highlightCtrlスタイルを担当する 'temporary'も追加しました。これが他の誰かにも役立つことを願っています。
Alex

回答:


19

レイヤーを定義するときに、styleMapsも指定できます。

_layer = new OpenLayers.Layer.Vector("My Layer Name", {
    styleMap: new OpenLayers.StyleMap({
        "default": new OpenLayers.Style({
            strokeColor: "#ff0000",
            strokeOpacity: .7,
            strokeWidth: 1,
            fillColor: "#ff0000",
            fillOpacity: 0,
            cursor: "pointer"
        }),
        "temporary": new OpenLayers.Style({
            strokeColor: "#ffff33",
            strokeOpacity: .9,
            strokeWidth: 2,
            fillColor: "#ffff33",
            fillOpacity: .3,
            cursor: "pointer"
        }),
        "select": new OpenLayers.Style({
            strokeColor: "#0033ff",
            strokeOpacity: .7,
            strokeWidth: 2,
            fillColor: "#0033ff",
            fillOpacity: 0,
            graphicZIndex: 2,
            cursor: "pointer"
        })
    })
});

次にあなたを指定してくださいrenderintent

_highlightControl = new OpenLayers.Control.SelectFeature(layer, {
    hover: true,
    highlightOnly: true,
    renderIntent: "temporary"
});

おかげで、私が問題を解決する前に述べたように、あなたが言うとおりに、とにかくありがとう
Alex

7
@アレックス:あなたはここに新しいので、これがどのように機能するかを説明させてください。自分の答えを解くことができたら、答えてください。そして、回答を「回答済み」としてマークします。あなたは例と適切な説明に欠けているコメントをしました。検索した人があなたと同じ質問をしている場合、彼らは彼らに役立つ答えを持っていることを感謝するでしょう。
CaptDragon 2011

1

もう1つの方法は、Openlayersライブラリのol / Theme / defaultディレクトリにあるstyle.cssアーカイブを直接編集することです。このコードを探して編集します。

.olHandlerBoxSelectFeature {
border: 2px solid blue;
position: absolute;
background-color: white;
opacity: 0.50;
font-size: 1px;
filter: alpha(opacity=50);}   

これがあなたに役立つことを願っています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.