Bagaimana cara mengubah warna default yang digunakan oleh openlayers hover?

8

Dimungkinkan untuk mengubah warna highlightCtrl ketika saya menggunakan onselectedHover? Standarnya biru muda.

Saya ingin mengubahnya ke yang lain misalnya. merah? Adakah yang tahu di mana nilai ini didefinisikan?

Alex
sumber
Masalah terpecahkan !! Saya baru saja menambahkan gaya baru di OpenLayers.StyleMap. Saya memiliki gaya khusus untuk: 'default', 'select' dan sekarang saya telah menambahkan juga 'sementara' yang bertanggung jawab untuk gaya highlightCtrl. Semoga ini bermanfaat bagi orang lain juga.
Alex

Jawaban:

19

Ketika Anda mendefinisikan layer Anda, Anda bisa menentukan styleMaps Anda juga:

_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"
        })
    })
});

Kemudian tentukan renderintent:

_highlightControl = new OpenLayers.Control.SelectFeature(layer, {
    hover: true,
    highlightOnly: true,
    renderIntent: "temporary"
});
CaptDragon
sumber
terima kasih, seperti yang saya sebutkan sebelumnya saya memecahkan masalah, persis seperti yang Anda katakan, terima kasih
Alex
7
@Alex: Karena Anda baru di sini, izinkan saya menjelaskan cara kerjanya. Jika Anda bisa menyelesaikan jawaban Anda sendiri, maka jawablah. Dan tandai jawabannya sebagai 'dijawab'. Anda telah membuat komentar yang tidak memiliki contoh dan penjelasan yang tepat. Saya pikir jika ada orang yang mencari memiliki pertanyaan yang sama seperti Anda, mereka akan menghargai memiliki jawaban yang akan membantu mereka.
CaptDragon
1

Cara lain adalah mengedit langsung arsip style.css di direktori ol / Theme / default dari pustaka Openlayers Anda. Cari kode ini dan edit:

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

Semoga ini bermanfaat bagi Anda.

Daeron Alcarin
sumber