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

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#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: 9869
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