IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

APIs Google Discussion :

InfoWindow et streetview [Google Maps]


Sujet :

APIs Google

  1. #1
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut InfoWindow et streetview
    Bonjour,

    Je génère dynamiquement une page dont voilà le résultat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
     
     
    <HTML>
    <HEAD>
     
    <style type="text/css"> 
    	div.conteneur-parent {
    	    height: 800px;
    	}
     
    	#map-canvas {
    		height : 730px;
    		width : 1000px;
    		width : 100%;
    		margin: 0 auto;
    		margin-right: auto;
    		border : 1px solid #888;
    	}
    </style>
     
    <script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?sensor=false&language=fr"> 
    </script>
     
    <script type="text/javascript"> 
    var map;
    var infoBulle = new google.maps.InfoWindow();
    // initialisation de la carte Google Map de départ
    function initialiserCarte()
    {
    	// Latitude et longitude du centre de Paris pour centrer la carte de départ
    	var latlng = new google.maps.LatLng(48.8590519, 2.33254949999998);
    	var mapOptions = {
    		zoom      : 13,
    		center    : latlng,
    		mapTypeId : google.maps.MapTypeId.ROADMAP
    		};
     
    	// map-canvas est le conteneur HTML de la carte Google Map
    	map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
     
    	TrouverAdresse();
     
    }
     
    function TrouverAdresse()
    {
    	var nbadresses = document.getElementById('nbadresses').value;
    	// Lecture du tableau des adresses
    	for (var i = 1; i <= nbadresses; i++)
    		{
    		var nom = document.getElementById('nom' + i).value;
    		var adresse = document.getElementById('adresse' + i).value;
    		var latitude = document.getElementById('latitude' + i).value;
    		var longitude = document.getElementById('longitude' + i).value;
     
    		latitude = parseFloat(latitude);
    		longitude = parseFloat(longitude);
    		imgMarker = 'images/green-dot.png';
     
    		var marker = new google.maps.Marker({
    			position: new google.maps.LatLng(latitude, longitude),
    		    map: map,
    		    icon: imgMarker,
    		    height: 25,
    		    width: 25,
    		    title: nom + '\n' + adresse.replace('<br>', ' ')
    		  });
     
    		contenu = adresse;
    		bindInfoWindow(marker, contenu);
     
    		}
    }
     
    function bindInfoWindow(marqueur, info)
    {
        google.maps.event.addListener(marqueur, 'domready', function() {
            infoBulle.setContent(info);
            infoBulle.open(map, marqueur);
        });
    }
     
    // Lancement de la construction de la carte google map
    google.maps.event.addDomListener(window, 'load', initialiserCarte);
    </script>
     
    <title>
    </title>
    </HEAD>
    <body bgcolor="#ECF4FF">
     
    <form name="frmMap" method="post">
     
    <div class="conteneur-parent">
    <div id="map-canvas" class="map-canvas"></div>
    </div>
     
    		<input type="hidden" id="adresse1" value="43 rue Etienne Marcel<br>75001 PARIS">
    		<input type="hidden" id="nom1" value="La Poste Louvre (jusque fin 2014)">
    		<input type="hidden" id="latitude1" value="48.8649526">
    		<input type="hidden" id="longitude1" value="2.3444405">
     
    		<input type="hidden" id="adresse2" value="48 rue de Sévigné<br>75003 PARIS">
    		<input type="hidden" id="nom2" value="SEVIGNE">
    		<input type="hidden" id="latitude2" value="48.8576848">
    		<input type="hidden" id="longitude2" value="2.3638576">
     
    		<input type="hidden" id="adresse3" value="4 place du Louvre<br>75001 PARIS">
    		<input type="hidden" id="nom3" value="LOUVRE (place)">
    		<input type="hidden" id="latitude3" value="48.8600425">
    		<input type="hidden" id="longitude3" value="2.3412674">
     
    <input type="hidden" name="nbadresses" id="nbadresses" value="3">
    </form>
    </BODY>
    </HTML>
    J'ai une autre page qui affiche une vue streetview dans une infowindow :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <HTML>
    <HEAD>
    <style type="text/css">
    #map-canvas {
    	height : 800px;
    	width : 1100px;
    	margin: auto;
    	}
    </style>
     
    <script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?sensor=false&language=fr">
    </script>
     
    <script type="text/javascript">
    var geocoder;
    var map;
    // initialisation de la carte Google Map de départ
    function initialiserCarte() {
    geocoder = new google.maps.Geocoder();
    // Latitude et longitude du centre de Paris pour centrer la carte de départ
    var latlng = new google.maps.LatLng(48.8590519, 2.33254949999998);
     
      var mapOptions = {
        zoom      : 13,
        center    : latlng,
        mapTypeId : google.maps.MapTypeId.ROADMAP
      }
      // map-canvas est le conteneur HTML de la carte Google Map
      map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
    }
     
    function TrouverAdresse()
    {
    	initialiserCarte();
     
    	// Récupération de l'adresse tapée dans le formulaire
    	var adresse = document.getElementById('adresse').value;
    	geocoder = new google.maps.Geocoder();
    	geocoder.geocode( { 'address': adresse}, function(results, status) {
    	if (status == google.maps.GeocoderStatus.OK)
    		{
    		// Création du marqueur du lieu (épingle)
    		var marker = new google.maps.Marker({
    			map: map,
    			position: results[0].geometry.location,
    			latitude: results[0].geometry.location.latitude,
    			title: adresse
    			});
    		}
    	else
    		{
    		alert('Adresse introuvable : ' + status);
    		}
     
    	var contentString = '<div id="content" style="width:450px;height:300px;"></div>';
    	var infowindow = new google.maps.InfoWindow({
    	content: contentString
    	});
     
    	infowindow.open(map,marker);
    	google.maps.event.addListener(marker, 'click', function() {
    	infowindow.open(map,marker);
    	});
     
     
    	var pano = null;
    	google.maps.event.addListener(infowindow, 'domready', function() {
    	if (pano != null) {
    	pano.unbind("position");
    	pano.setVisible(false);
    	}
    	pano = new google.maps.StreetViewPanorama(document.getElementById("content"), {
    	navigationControl: true,
    	navigationControlOptions: {style: google.maps.NavigationControlStyle.SMALL},
     
    	//GeocodeurLocationType: ROOFTOP,
    	enableCloseButton: false,
    	addressControl: true,
    	linksControl: true,
     
    	pov: {
    		heading: 180,
    		pitch: 0,
    		zoom: 1
    		}
     
    	});
    	//(48.850409, 2.362903899999992)
    	pano.bindTo("position", marker);
    	pano.setVisible(true);
    	});
     
    	google.maps.event.addListener(infowindow, 'closeclick', function() {
    	pano.unbind("position");
    	pano.setVisible(false);
    	pano = null;
    	});
     
    });
     
    }
     
    // Lancement de la construction de la carte google map
    google.maps.event.addDomListener(window, 'load', initialiserCarte);
    </script>
    </HEAD>
    <BODY onload="TrouverAdresse();">
     
    <form>
    <center>
    <div id="map-canvas"></div>
    </center>
     
      <input type="text" id="adresse" value="29 rue de rivoli 75004 paris" size="50"/>
      <input type="button"  value="Localiser sur Google Map" onclick="TrouverAdresse();"/>
    </form>
     
    </BODY>
    </HTML>
    Mes deux pages fonctionnent bien, mais je souhaiterai faire un mix des deux.
    Je souhaite, dans ma première page, qu'une infowindow avec l'aperçu streetview s'affiche quand on clique sur un marqueur.
    Le problème, c'est que je ne sais pas quel code de ma deuxième page je dois intégrer dans la première, et surtout à quel endroit je dois le placer.

    Si quelqu'un pouvait m'aider ?

    Merci.

  2. #2
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Re,

    C'est bon, j'ai réussi à m'en sortir.

    Merci quand même !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Google Maps] Google Maps API V3 et infowindow
    Par Arezki Bordji dans le forum APIs Google
    Réponses: 12
    Dernier message: 05/11/2013, 16h34
  2. Toujours le meme infowindow
    Par Juli3ns dans le forum APIs Google
    Réponses: 4
    Dernier message: 18/08/2010, 12h23
  3. Google API : infowindow ne fonctionne pas
    Par diving-seller dans le forum APIs Google
    Réponses: 1
    Dernier message: 25/06/2010, 10h01
  4. Affichage streetview dans bulle
    Par OLman135 dans le forum APIs Google
    Réponses: 2
    Dernier message: 24/06/2009, 14h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo