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é ?

Annonce

Pour sécuriser votre compte sur les forums du GeoRezo, nous demandons de changer votre mot de passe.

Vous allez recevoir un message pour effectuer ce changement de mot de passe.

Merci de bien respecter les règles préconisées.

#1 Mon 18 May 2015 11:05

Imanktb
Participant occasionnel
Date d'inscription: 17 Mar 2014
Messages: 15

Définition base map Google Maps

Bonjour,

Je dois remplacer une couche basemap 'Global Imangery' avec une ocuche Google Maps.


Toutefois, si je la remplace par "Openlayers.Layer.Google" , ceci va prendre comme projection EPSG:3857 (900913) . Alors que moi j'utilise EPSG: 4326.


La couche 'Global Imagery' est définie ainsi :

Code:

layers: [ 
   
new OpenLayers.Layer.WMS("Global Imagery (OpenGeo) [Online]",
                        "http://maps.opengeo.org/geowebcache/service/wms", {
                            layers: "bluemarble"
                        },{
                            
                            isBaseLayer: true,
                            visibility: false
                        }
                    )


]

Y a-t-il un moyen de la remplacer par Google Maps avec EPSG:4326 , en gardant la même structure de définition de la couche ?

Merci d'avance

Hors ligne

 

#2 Tue 19 May 2015 11:10

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

Re: Définition base map Google Maps

Bonjour,

La réponse courte (il n'y aura pas de réponse longue de ma part wink ) est non ce n'est pas possible sauf à utiliser l'API Google Maps à 100 % sans passer par une API tiers (OpenLayers ou autre).

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 Tue 19 May 2015 12:23

Imanktb
Participant occasionnel
Date d'inscription: 17 Mar 2014
Messages: 15

Re: Définition base map Google Maps

Merci énormément Yves pour votre réponse. J'aimerais exploiter cette piste.


En fait, j'ai essayé dans ma page  d'intégrer la balise  : <script src="http://maps.google.com/maps/api/js?v=3&amp;sensor=false"></script>

Et au niveau de la fonction GeoExplorer.js , la fonction createLayout fait appel à la couche "Google Satellite", définie ainsi :



Code:

createLayout:function(){
            this.map=new OpenLayers.Map({
                theme:null,
                allOverlays:false,controls:[
                    new OpenLayers.Control.PanPanel(),
                    new OpenLayers.Control.ZoomPanel()
                ],
                projection:this.initialConfig.map.projection,
                units:this.initialConfig.map.units,
                maxResolution:this.initialConfig.map.maxResolution,
                maxExtent:this.initialConfig.map.maxExtent&&OpenLayers.Bounds.fromArray(this.initialConfig.map.maxExtent),
                numZoomLevels:this.initialConfig.map.numZoomLevels||20
            });
            this.createFeatureLayer();
            this.map.addLayer(this.featureLayer);
            var mapConfig=this.initialConfig.map||{};

//=======Initiliasation couche  "Google Satellite"

            var googleBaseMap = new OpenLayers.Layer.Google("Google Satellite", {'type' : google.maps.MapTypeId.HYBRID});  
            
            this.mapPanel=new GeoExt.MapPanel({
                layout:"anchor",border:true,region:"center",
                map:this.map,
                center:mapConfig.center&&new OpenLayers.LonLat(mapConfig.center[0],mapConfig.center[1]),
                zoom:mapConfig.zoom,
                items:[{
                    xtype:"gx_zoomslider",
                    vertical:true,height:100,
                    plugins:new GeoExt.ZoomSliderTip({template:"<div>Zoom Level: {zoom}</div>"})},
                    this.createMapOverlay()
                ],

//=======Ajout couche  "Google Satellite"

                               layers: [googleBaseMap];
});

Toutefois ce code ne fonctionne pas, je ne sais pas si c'est la définition de la couche n'est pas correcte.

Dernière modification par Imanktb (Tue 19 May 2015 12:23)

Hors ligne

 

Pied de page des forums

Powered by FluxBB