Como alterar a cor padrão usada pelos openlayers pairar?

8

É possível alterar a cor do realceCtrl quando uso onselectedHover? O padrão é azul claro.

Eu quero mudar para outro, por exemplo. vermelho? Alguém sabe onde esse valor é definido?

Alex
fonte
Problema resolvido !! Acabei de adicionar um novo estilo no OpenLayers.StyleMap. Eu tinha estilos específicos para: 'default', 'select' e agora adicionei também 'temporary', responsável pelo estilo destaqueCtrl. Espero que isso seja útil para outra pessoa também.
21411 Alex

Respostas:

19

Ao definir sua camada, você também pode especificar seus 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"
        })
    })
});

Em seguida, especifique seu renderintent:

_highlightControl = new OpenLayers.Control.SelectFeature(layer, {
    hover: true,
    highlightOnly: true,
    renderIntent: "temporary"
});
CaptDragon
fonte
graças, como eu mencionei antes eu resolvi o problema, exatamente como você diz, obrigado de qualquer maneira
Alex
7
@ Alex: Desde que você é novo aqui, deixe-me explicar como isso funciona. Se você conseguir resolver sua própria resposta, responda. E marque a resposta como 'respondida'. Você fez um comentário sem exemplo e explicação adequada. Imaginei que, se alguém pesquisando tiver a mesma pergunta que você, apreciará ter uma resposta que será útil para eles.
CaptDragon
1

A outra maneira é editar diretamente o arquivo style.css no diretório ol / Theme / default da sua biblioteca Openlayers. Procure esse código e edite-o:

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

Espero que isso seja útil para você.

Daeron Alcarin
fonte