banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

#1 Thu 14 October 2010 16:47

didier.genier@bluewin.ch
Participant actif
Lieu: Bernex - Genève
Date d'inscription: 8 Nov 2006
Messages: 52

Raster Google sous OpenLayers et décalage lors du pan...

Bonjour à tous,

Je rencontre un petit problème avec une carte sous OpenLayers et les couches Google.

1) La projection de la map est à 900913 pour les couches Google.
2) Les couches supplémentaires sont en EPSG:4326, lat/lon compatible Google.
3) Les points s'affichent au bon endroit., m

MAIS... lorsque je "pan" la carte, les points ne se repositionnent pas au bon endroit vers les bord de la carte, même après un redraw!

Une piste ?
Merci d'avance.

Didier

Hors ligne

 

#2 Thu 14 October 2010 16:51

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 9864
Site web

Re: Raster Google sous OpenLayers et décalage lors du pan...

Bonjour,

Il faut définir dans la couche Google le paramètre isMercator à true dans les options (vérifie le nom du paramètre je n'en suis pas sur).

Y.


Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !!  - GeoRezo vous aide ? Aidez GeoRezo !

Hors ligne

 

#3 Thu 14 October 2010 17:27

didier.genier@bluewin.ch
Participant actif
Lieu: Bernex - Genève
Date d'inscription: 8 Nov 2006
Messages: 52

Re: Raster Google sous OpenLayers et décalage lors du pan...

Merci,

J'ai mis sphericalMercator:true dans les options des 4 couches Google.
Du coup, ma carte est centrée dans l'Océan, juste en dessous de l'Afrique...
On est pas si grand quand même !?!

Code:

function init() {
            map = new OpenLayers.Map('map',{projection: new OpenLayers.Projection("EPSG:4326")});
            map.addControl(new OpenLayers.Control.LayerSwitcher());
    map.addControl(new OpenLayers.Control.MousePosition());
            
            var gphy = new OpenLayers.Layer.Google(
                "Google Physical",
                {type: G_PHYSICAL_MAP,
                sphericalMercator:true}
            );
            var gmap = new OpenLayers.Layer.Google(
                "Google Streets", // the default
                {sphericalMercator:true,
                numZoomLevels: 20}
            );
            var ghyb = new OpenLayers.Layer.Google(
                "Google Hybrid",
                {type: G_HYBRID_MAP,
                sphericalMercator:true,
                 numZoomLevels: 20}
            );
            var gsat = new OpenLayers.Layer.Google(
                "Google Satellite",
                {type: G_SATELLITE_MAP,
                sphericalMercator:true, 
                numZoomLevels: 22}
            );

Hors ligne

 

#4 Thu 14 October 2010 18:02

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 9864
Site web

Re: Raster Google sous OpenLayers et décalage lors du pan...

Bonjour,

Au temps pour moi, OpenLayers ne peut pas reprojeter une couche raster, cela implique de déformer l'image et pas seulement de modifier les coordonnées.

Le serveur WMS doit être "Google Mercator enabled".

Y.


Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !!  - GeoRezo vous aide ? Aidez GeoRezo !

Hors ligne

 

Pied de page des forums

Powered by FluxBB