Aller au contenu

14. Se promener place du Capitole#

📆 Date de publication initiale : 17 novembre 2008

Introduction#

logo Google

Il est possible grâce à l'API Google Maps de naviguer virtuellement dans les rues, nous verrons ici comment implanter cette fonctionnalité.

Créer un panorama#

Construire un panorama en lui indiquant son emplacement :

1
var myPano = new GStreetviewPanorama(document.getElementById("pano"));

Définir une destination :

1
var capitole = new GLatLng(43.60436298129637, 1.442950341024869);

Définir les attributs de la caméra - yaw pour la direction en degré de l'angle de vue et pitch l'inclinaison de la caméra :

1
var myPOV = {yaw:370.64659986187695,pitch:0};

Initialiser le panorama sur la destination et avec les paramètres de caméra :

1
myPano.setLocationAndPOV(capitole, myPOV);

Ajouter un événement (une alerte simple) si le navigateur ne supporte pas le Flash. :

1
GEvent.addListener(myPano, "error", handleNoFlash);

Définir l'événement :

1
2
3
4
5
6
function handleNoFlash(errorCode) {
  if (errorCode == 603) {
    alert("Flash n'est pas supporté par votre navigateur !");
    return;
  }
}

Définir l'emplacement de la carte :

1
<div name="pano" id="pano"></div>

Code complet#

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<!DOCTYPE html "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>
     [Google Maps] 14. Se promener place du Capitole
   </title>
   <style type="text/css">
     html { overflow:hidden; height:100%; }
     body { height:100%; margin:0; }
     #pano { width:100%; height:100%; }
   </style>
   <link rel="icon" type="image/png" href="./favicon.png"/>
   <script src="http://maps.google.com/maps?file=api&v=2&key=votre_clé_ici" type="text/javascript"></script>
   <script type="text/javascript">

     function initialize() {
       if (GBrowserIsCompatible()) {
         var myPano = new GStreetviewPanorama(document.getElementById("pano"));
         var capitole = new GLatLng(43.60436298129637, 1.442950341024869);
         var myPOV = {yaw:370.64659986187695,pitch:0};
         myPano.setLocationAndPOV(capitole, myPOV);
         GEvent.addListener(myPano, "error", handleNoFlash);
    }
    else{
      alert('Désolé, mais votre navigateur n\'est pas compatible avec Google Maps');
    }
  }

  function handleNoFlash(errorCode) {
       if (errorCode == 603) {
      alert("Error: Flash doesn't appear to be supported by your browser");
      return;
       }
     }
  </script>
  </head>
  <body onload="initialize()" onunload="GUnload()">
    <div name="pano" id="pano"></div>
   </body>
</html>

Démonstration#

Info

Le serveur hébergeant la démonstration n'étant plus disponible depuis de nombreuses années, la démonstration, autre fois intégrée en iFrame est désactivée.
<iframe src="http://88.191.39.115/fabien/geotribu/%5bgeotribu%5d_Google-Maps_tuto14.html" height="350px" width="100%"></iframe>

Résultat pleine page

Remarques#

Un panorama StreetView est une image cliquable, 'zoomable' et avec lequel on peut se diriger vers les images mitoyennes. L'application est en Flash, ce qui permet la navigation 'demi-sphérique' dans la photographie.

Conclusion#

Les panoramas de StreetView sont facilement exploitables grâce à l'API. Il faut maintenant coupler la couche des photos sur la carte - http://geotribu.net/node/65 - et les photographies.


Auteur#

Fabien Goblet#

portrait

Informaticien et géographe de formation, je suis j'étais indépendant en base de données, webmapping, j'aide à la modélisation et à la définition du besoin client, je développe j'encadre le développement des interfaces d'administration et des carto-web, je conçois des api géographiques pour les administrations, les ONG, les labos de recherche. Je suis maintenant responsable de l'innovation chez Sogefi. Toujours des cartes et des données qui ont besoin de communiquer. Nous avons une spécialité dans les données foncières et de leur représentation à destination des administrations.

J'aime comprendre les données et en faire quelquechose ; du coup je fais pas mal de veille techno sur tout ce qui touche aux technologies web de dataviz - carto ou non.

J'ai une préférence pour les technologies libres. Tout ce qui touche aux interactions hommes-machines avec des technos comme Kinect, Arduino, Raspberry, les imprimantes 3d ou les machines de découpe laser, les caméras 360° me passionne. Et j'essaie de les utiliser dans le cadre du travail.

Contributions à cette page : Julien Moura (43.97%), Florian Boret (56.03%)

Ce contenu est sous licence Creative Commons BY-NC-SA 4.0 International Pictogramme Creative Commons Pictogramme Creative Commons BY Pictogramme Creative Commons NC Pictogramme Creative Commons SA


Commentaires

Une version minimale de la syntaxe markdown est acceptée pour la mise en forme des commentaires.
Propulsé par Isso.