API Maps Google
poncherello66
Messages postés
7
Date d'inscription
Statut
Membre
Dernière intervention
-
poncherello66 Messages postés 7 Date d'inscription Statut Membre Dernière intervention -
poncherello66 Messages postés 7 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je bricole avec les API de Google pour créer des marqueurs et groupes de marqueurs sur la carte du sud-ouest. Problème n°1 : les titres des marqueurs ne s'affichent pas
Problème n°2 : je n'arrive pas à créer une infobulle personnalisée par marqueur
Voici mon code :
Quelqu'un a-t-il une idée ?
Merci d'avance
Je bricole avec les API de Google pour créer des marqueurs et groupes de marqueurs sur la carte du sud-ouest. Problème n°1 : les titres des marqueurs ne s'affichent pas
Problème n°2 : je n'arrive pas à créer une infobulle personnalisée par marqueur
Voici mon code :
<title>Cartes Sud-Ouest France</title> <style> #map-sudouest { height: 100%; } html, body { height: 100%; margin: 0; padding: 0; } </style> </head> <body> <div id="map-sudouest"></div> <script> function initMap() { var map = new google.maps.Map(document.getElementById('map-sudouest'), { zoom: 9, center: {lat: 44.7002222, lng: -0.2995785} }); var labels = 'B'; var markers = locations.map(function(location, i) { return new google.maps.Marker({ position: location, label: labels[i % labels.length] }); }); var markerCluster = new MarkerClusterer(map, markers, {imagePath: 'https://developers.google.com/maps/documentation/javascript/examples/markerclusterer/m'}); } var locations = [ {lat: 44.8333, lng: -0.5667}, {lat: 44.8, lng: -0.5333}, {lat: 44.889, lng: 1.2166, title:'Mon texte'} // le titre n'apparaît pas ]; /* les infos bulles ne percutent pas var infowindow = new google.maps.InfoWindow({ content: 'Du texte ici' }); var marker = new google.maps.Marker({ position: {lat: 44.889, lng: 1.2166, title:'Mon texte'}, map: map, title: 'Sarlat-la-Canéda' }); marker.addListener('click', function() { infowindow.open(map, marker); }); }*/ </script> <script src="https://developers.google.com/maps/documentation/javascript/examples/markerclusterer/markerclusterer.js"></script>
Quelqu'un a-t-il une idée ?
Merci d'avance
A voir également:
- API Maps Google
- Google maps satellite - Guide
- Google maps - Guide
- Dns google - Guide
- Telecharger google maps pc - Télécharger - Téléchargement & Transfert
- Historique google maps - Guide
2 réponses
Bonjour
En ce qui concerne le titre, je vois que tu l'as mis comme une des composantes de la position. Or, ce n'est pas une composante de la position. C'est une composante de l'objet passé au constructeur de Marker. Ton appel au constructeur devrait ressembler à :
En ce qui concerne le titre, je vois que tu l'as mis comme une des composantes de la position. Or, ce n'est pas une composante de la position. C'est une composante de l'objet passé au constructeur de Marker. Ton appel au constructeur devrait ressembler à :
return new google.maps.Marker({ position: location, label: labels[i % labels.length] , title: "débrouille-toi pour mettre le titre ici" });
poncherello66
Messages postés
7
Date d'inscription
Statut
Membre
Dernière intervention
Cool, ça marche, merci bien, mais je voudrais un title différent par marqueur, et reste mon deuxième pbm -)
Tu voudrais un titre différent par marqueur, je l'ai bien compris, c'est pourquoi j'avais mis "débrouille-toi...". Ce n'est pas difficile à cet endroit de récupérer ce que tu avais mis dans position.title, non ?
Quant à ton deuxième problème, quel est-il exactement : tu ne vois pas du tout le 'B', ou tu voudrais que lui aussi soit personnalisé par marqueur ?
Quant à ton deuxième problème, quel est-il exactement : tu ne vois pas du tout le 'B', ou tu voudrais que lui aussi soit personnalisé par marqueur ?
Alors il te suffit de mettre les labels personnalisés dans ton tableau 'locations' comme tu le fais déjà pour les titres. Supposons que tu les appelles 'label'.
Ensuite, dans l'appel au constructeur Marker, tu n'as qu'à récupérer le titre et le label qui seront disponibles dans location.title et location.label.
Ensuite, dans l'appel au constructeur Marker, tu n'as qu'à récupérer le titre et le label qui seront disponibles dans location.title et location.label.
Il y a un problème de vocabulaire. Le 'title' c'est l'infobulle : le message apparaît dès que la souris passe sur la marqueur, sans qu'on clique. C'est écrit dans la doc Google map API et c'est aussi la définition que donne Wikipedia :
https://fr.wikipedia.org/wiki/Infobulle
L'infoWindow, ce n'est pas la même chose. Tu peux l'afficher en ajoutant une fonction événementielle ("onclick') au marqueur, mais à ma connaissance ce n'est pas directement un paramètre qu'on passe à la création du marqueur.
https://fr.wikipedia.org/wiki/Infobulle
L'infoWindow, ce n'est pas la même chose. Tu peux l'afficher en ajoutant une fonction événementielle ("onclick') au marqueur, mais à ma connaissance ce n'est pas directement un paramètre qu'on passe à la création du marqueur.