[Gfoss] openlayers, highlight features al passaggio su elemento esterno alla mappa

G. Allegri giohappy a gmail.com
Mer 5 Gen 2011 19:03:26 CET


Applicare solo uno stile non è sufficiente, è necessario richiamare
ridisegnare la feature.


feat = wfs.getFeatureByFid(fid_della_deature);
(oppure feat = wfs.getFeatureById(id_della_feature);)
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 a gmail.com <
luca.casagrande a 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 a 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 a 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 a 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
>
-------------- parte successiva --------------
Un allegato HTML ?tato rimosso...
URL: <http://lists.gfoss.it/pipermail/gfoss/attachments/20110105/e1cb802c/attachment.htm>


Maggiori informazioni sulla lista Gfoss