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 Sun 29 April 2012 00:12

Achref_geo
Participant actif
Date d'inscription: 19 Feb 2012
Messages: 107

Affichage des fonds google avec openlayers

Salut à tous, j'essais d'afficher le fond google physical avec openlayers mais toujours pas de solution et je ne comprend pas quel est le probleme exactement, ça m'empeche d'avancer je joint ci-dessous les deux code html et javascript et j'attend ardemment votre aide, je veux savoir qu'est ce qui manque

html

Code:

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<title>INS_stage</title>
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="stylesheet" type="text/css"

href="lib/GeoExt/resources/css/geoext-all.css"></link>
<link rel="stylesheet" type="text/css" href="lib/ext-
3.4.0/resources/css/ext-all.css"></link>
<link rel="stylesheet" type="text/css" href="lib/ext-
3.4.0/resources/css/xtheme-gray.css" /></link>

<script src="lib/ext-3.4.0/adapter/ext/ext-base.js"
type="text/javascript"></script>
<script src="lib/ext-3.4.0/ext-all.js"
type="text/javascript"></script>
<script src="lib/ext-3.4.0/src/locale/ext-lang-fr.js"
type="text/javascript"></script>
<script src="http://maps.google.com/maps/api/js?v=3.5&amp;sensor=false"></script>
<script type="text/javascript"
src="lib/OpenLayers/lib/OpenLayers.js"></script>
<script src="lib/GeoExt/script/GeoExt.js"
type="text/javascript"></script>
<script type="text/javascript" src="essai.js">

</script>

</head>
<body onload="init()">
 <div style="width:100%; height:100%" id="map"></div>
</body>
</html>

Javascript

Code:

function init() {

var map = new OpenLayers.Map('map');
//ajout de la couche OpenStreetMap
var osmLayer = new OpenLayers.Layer.OSM();

 //carte du relief google
 var gphy = new OpenLayers.Layer.Google("Google relief",{sphericalMercator:true, type: G_PHYSICAL_MAP} );
            
map.addLayer(osmLayer);
map.addLayer(gphy);

var epsg4326 = new OpenLayers.Projection("EPSG:4326");
map.addControl(new
OpenLayers.Control.MousePosition({displayProjection: epsg4326}));
var center = new OpenLayers.LonLat(8,36).transform(epsg4326,
map.getProjectionObject());
map.setCenter(center, 6);

map.addControl(new OpenLayers.Control.PanZoomBar());
map.addControl(new OpenLayers.Control.OverviewMap());
map.addControl(new OpenLayers.Control.LayerSwitcher());

}

j'arrive à afficher le fond osm mais quand j'ajoute le fong google physical, google hybride ou google map je perd tout et rien n'apparait!

Hors ligne

 

#2 Sun 29 April 2012 11:20

Achref_geo
Participant actif
Date d'inscription: 19 Feb 2012
Messages: 107

Re: Affichage des fonds google avec openlayers

J'ai changé mon code javascript comme ci-dessous

Code:

function init() {

var options = {
    projection: new OpenLayers.Projection("EPSG:900913"),
    units: "m",
    maxResolution: 156543.0339,
    maxExtent: new OpenLayers.Bounds(-20037508.34, -20037508.34,
                                     20037508.34, 20037508.34)
};

    map = new OpenLayers.Map("map", options);

//ajout de la couche OpenStreetMap
  //var osmLayer = new OpenLayers.Layer.OSM();

 //carte du relief google
     var gphy = new OpenLayers.Layer.Google("googlephysical", 
        {type: google.maps.MapTypeId.TERRAIN, 'sphericalMercator': true, 'maxExtent': new OpenLayers.Bounds(-218915.64898,5627599.76968,170607.44711,5981656.08465)} 
    ); 
    var gsat = new OpenLayers.Layer.Google("googlesat", 
        {type: google.maps.MapTypeId.SATELLITE, 'sphericalMercator': true, 'maxExtent': new OpenLayers.Bounds(-218915.64898,5627599.76968,170607.44711,5981656.08465)} 
    ); 

            
  //map.addLayer(osmLayer);
  map.addLayer(gphy);
  map.addLayer(gsat);


map.addControl(new OpenLayers.Control.PanZoomBar());
map.addControl(new OpenLayers.Control.OverviewMap());
map.addControl(new OpenLayers.Control.LayerSwitcher());

}

j'abtient un fond bleu dont il est ecrit dans un carreau jaune : "the google layer was unable to load correctly,..."

est ce que quelqu'un a rencontré ce probleme ??

Hors ligne

 

#3 Mon 30 April 2012 11:06

zapgat
Participant occasionnel
Date d'inscription: 24 Sep 2010
Messages: 18

Re: Affichage des fonds google avec openlayers

Bonjour,

Dans mon appli (mgos) J'ai du utiliser l'Epsg 3857 pour faire fonctionner les fonds google( pseudomercator).

Peut être est ce aussi un problème d'unification de système de coordonnées...

Je ne sais pas si cela pourra t'être utile...

Bonnes recherches

Frederic

Hors ligne

 

#4 Sat 05 May 2012 10:15

Achref_geo
Participant actif
Date d'inscription: 19 Feb 2012
Messages: 107

Re: Affichage des fonds google avec openlayers

Merci pour ta réponse Zapgat ça marché j'obtient les fonds google map et mes WMS maintenant, j'ai fait un changement au niveau du mapfile comme suit:
c'est au niveau du Metadata

Code:

  METADATA
            "wms_title"     "QGIS-MAP"  
            "wms_onlineresource" "http://localhost/cgi-bin/mapserv.exe?map=C:/OSGeo4W/apache/htdocs/MonTP/Appli_stage/gouvernorat.map"   
            "wms_srs"       "EPSG:4326 EPSG:900913"  
        END

j'ai ajouté l'EPSG 900913 pour faire afficher les WMS

Hors ligne

 

#5 Tue 08 May 2012 18:44

ranalisolofo.larrys
Participant occasionnel
Lieu: Ambolonkandrina
Date d'inscription: 19 Jul 2007
Messages: 40
Site web

Re: Affichage des fonds google avec openlayers

Quid des couches WMS issus des serveurs extérieurs dont nous ne contrôlons pas la configuration....

Hors ligne

 

#6 Wed 09 May 2012 17:11

zapgat
Participant occasionnel
Date d'inscription: 24 Sep 2010
Messages: 18

Re: Affichage des fonds google avec openlayers

Il faut transformer le système de coordonnées a la volée... Quand l'outil le permet...wink

Zap

Hors ligne

 

Pied de page des forums

Powered by FluxBB