#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&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...
Zap
Hors ligne