domanda su Openlayers

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

domanda su Openlayers

albertobonati
Salve a tutti.

Voglio visualizzare con Openlayers un file kml contenente dei tracciati,
e fin qua nessun problema.
Volevo anche visualizzare delle icone posizionate in corrispondenza di
questi tracciati, in modo che seguissero lo zoom e fossero sempre
visibili ad ogni livello.
Si può fare? Qualcuno sa dove trovere un esempio da copiare??

Grazie

alberto
_______________________________________________
Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
[hidden email]
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.
502 iscritti all'11.2.2011
Reply | Threaded
Open this post in threaded view
|

Re: domanda su Openlayers

Niccolo Rigacci
On Mon, Apr 18, 2011 at 04:20:15PM +0200, albertobonati wrote:
>
> Voglio visualizzare con Openlayers un file kml contenente dei
> tracciati, e fin qua nessun problema.
> Volevo anche visualizzare delle icone posizionate in corrispondenza
> di questi tracciati, in modo che seguissero lo zoom e fossero sempre
> visibili ad ogni livello.

Ti consiglio di seguire lo standard KML e includere in esso le
icone come tag <Placemark>.<icon>. Poi usi lo stile di OpenLayers
per vestire il layer con le stesse icone.

In questo modo prendi due piccioni con una fava: viene un KML che
mostra delle icone (nei programmi che lo supportano), le stesse
che poi vedi anche in OpenLayers.

Sulla documentazione OL cerca il costruttore
OpenLayers.StyleMap(), l'attributo externalGraphic, pointRadius,
ecc.

--
Niccolo Rigacci
Firenze - Italy
_______________________________________________
Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
[hidden email]
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.
502 iscritti all'11.2.2011
Reply | Threaded
Open this post in threaded view
|

Re: domanda su Openlayers

albertobonati
Il 18/04/2011 16.28, Niccolo Rigacci ha scritto:

> On Mon, Apr 18, 2011 at 04:20:15PM +0200, albertobonati wrote:
>> Voglio visualizzare con Openlayers un file kml contenente dei
>> tracciati, e fin qua nessun problema.
>> Volevo anche visualizzare delle icone posizionate in corrispondenza
>> di questi tracciati, in modo che seguissero lo zoom e fossero sempre
>> visibili ad ogni livello.
> Ti consiglio di seguire lo standard KML e includere in esso le
> icone come tag<Placemark>.<icon>. Poi usi lo stile di OpenLayers
> per vestire il layer con le stesse icone.
>
> In questo modo prendi due piccioni con una fava: viene un KML che
> mostra delle icone (nei programmi che lo supportano), le stesse
> che poi vedi anche in OpenLayers.
>
> Sulla documentazione OL cerca il costruttore
> OpenLayers.StyleMap(), l'attributo externalGraphic, pointRadius,
> ecc.
>
Le icone le includo nel file KML, nessun problema per questo e per
visualizzarle in un certo punto.
E' il modo di vederle su Openlayers in modo che non siano fisse ma
legate all' oggetto in funzione dello zoom che mi è ostico...
Grazie del consiglio comunque, ma se non vedo un esempio non ce la fo....

ciao
_______________________________________________
Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
[hidden email]
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.
502 iscritti all'11.2.2011
Reply | Threaded
Open this post in threaded view
|

Re: domanda su Openlayers

Niccolo Rigacci
On Tue, Apr 19, 2011 at 03:16:28PM +0200, albertobonati wrote:
> >
> E' il modo di vederle su Openlayers in modo che non siano fisse ma
> legate all' oggetto in funzione dello zoom che mi è ostico...
> Grazie del consiglio comunque, ma se non vedo un esempio non ce la fo....

Vedi queste due pagine (nella seconda vedi Symbolizer
properties):

http://docs.openlayers.org/library/feature_styling.html
http://dev.openlayers.org/apidocs/files/OpenLayers/Feature/Vector-js.html

gli esempi sono pochi, ma è un inizio.

Legare la dimensione delle icone allo zooom pare che non sia
previsto. Si può quasi certamente intercettare l'evento zoom e
modificare al volo l'attributo pointRadius.

--
Niccolo Rigacci
Firenze - Italy
_______________________________________________
Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
[hidden email]
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.
502 iscritti all'11.2.2011
Reply | Threaded
Open this post in threaded view
|

Re: domanda su Openlayers

Luca Delucchi
In reply to this post by albertobonati
Il 19 aprile 2011 15:16, albertobonati <[hidden email]> ha scritto:
>
> Le icone le includo nel file KML, nessun problema per questo e per
> visualizzarle in un certo punto.
> E' il modo di vederle su Openlayers in modo che non siano fisse ma legate
> all' oggetto in funzione dello zoom che mi è ostico...

per lo zoom ecco qui il codice...sostituisci le parti necessarie

                        var centraline_style = new OpenLayers.Style(OpenLayers.Util.applyDefaults({
                                graphicOpacity: 1,
                                fontColor: "red",
                                fontWeight: "bold",
                                pointRadius: "${scaledSize}",
                                label : "${nome}",
                                fontSize: "${scaledSize}",
                                labelYOffset: "${scaledOffset}",
                                labelAlign: "ct",
                                externalGraphic: "centraline.png"

                        }, OpenLayers.Feature.Vector.style["default"]), {
                                context: {
                                        scaledSize: function() {
                                                return map.getZoom()*1.25;
                                        },
                                        scaledOffset: function(feature) {
                                                return map.getZoom()*(-1.5);
                                        }
                                }
                        });
                        var centraline_styleMap = new OpenLayers.StyleMap({"default":
centraline_style});


> Grazie del consiglio comunque, ma se non vedo un esempio non ce la fo....
>
> ciao

--
ciao
Luca

http://gis.cri.fmach.it/delucchi/
www.lucadelu.org
_______________________________________________
Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
[hidden email]
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.
502 iscritti all'11.2.2011