Applicare solo uno stile non è sufficiente, è necessario richiamare ridisegnare la feature.
feat = wfs.getFeatureByFid(fid_della_deature);
(oppure feat = wfs.getFeatureById(id_della_feature)![:wink: :wink:](/images/emoji/twitter/wink.png?v=12)
vectorlayer.drawFeature(feat,‘temporary’);
‘temporary’ è lo stile di selezione standard di OL esposto tramite OpenLayers.Feature.Vector.style
Per deselezionare devi reimpostare a ‘default’ lo stile e ridisegnare nuovamente. In modo molto banale potresti salvarti una feature temporanea, contente l’ultima feature selezionata, da deselezionare prima di selezionarne una nuova.
Per gestire tutto ciò in maniera elegante converrebbe crearsi un controllino ad hoc, tipo il SelectFeature, con un Handler apposito (invece OpenLayers.Handler.Feature) che si preoccupi di intercettare gli eventi sulla tabella (click, mouseout, ecc.)… Non so quanta esprienza hai con js e OL, non è una cosa complessa cmq.
PS: invece di loopare tu sulle feature, in fase di creazione della tabella attributi registrati per ogni riga FID o ID della feature, così la puoi richiamare direttamente coi metodi dell’esempio.
giovanni
Il giorno 05 gennaio 2011 15:57, luca.casagrande@gmail.com <luca.casagrande@gmail.com> ha scritto:
Brutalmente e senza ragionarci sopra, potresti:
- creare uno stile del tuo layer di punti in modo da avere una
rappresentazione evidenziata/non evidenziata in funzione di un certo
attributo
- al passaggio del mouse, leggere l’id della riga dalla tabella
- looppare tra le features e per quella che ha id uguale a quello
letto dalla tabella, aggiornare l’attributo in modo che risulti
evidenziata.
Nella doc di OL dovresti trovare maggiori informazioni.
Ciao
Luca
Il 05 gennaio 2011 15:41, beppe <beppenapo@gmail.com> ha scritto:
Salve a tutti e buon inizio d’anno,
vado subito al sodo: ho una mappa con una serie di elementi puntuali e,
accanto, una tabella con alcune informazioni sugli elementi.
Allo stato attuale delle cose, ogni punto si evidenzia (highlight) al
passaggio del mouse su di esso. Vorrei, invece, che il punto si
evidenziasse al passaggio del mouse sulla corrispondente riga della
tabella.
Sto provando, ma mi sono leggermente incartato
… qualche dritta?
Grazie a tutti per l’aiuto
-beppe-
Iscriviti all’associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
Gfoss@lists.gfoss.it
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e’ una lista di discussione pubblica aperta a tutti.
Non inviate messaggi commerciali.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell’Associazione GFOSS.it.
485 iscritti al 20.11.2010
–
Luca Casagrande
http://www.lucacasagrande.net
twitter: lucacasagrande
Iscriviti all’associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
Gfoss@lists.gfoss.it
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e’ una lista di discussione pubblica aperta a tutti.
Non inviate messaggi commerciali.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell’Associazione GFOSS.it.
485 iscritti al 20.11.2010