J'ai affiche une carte google map grace a l'API. J'ai localise 6 marqueurs qui correspondent a des sommets de montagne.
en cliquant sur un bouton, j'arrive a les afficher en meme temps mais j'aimerais qu'en cliquant a nouveau sur le bouton que les marqueurs disparaissent.
var map;
var markers = [];
function initMap() {
var nepal={lat: 28.240381, lng: 83.973038};
var lobuche={lat: 27.955762, lng: 86.794760};
var island={lat:27.919593, lng: 86.934933};
var paldor={lat:28.277209, lng: 85.183921};
var mera={lat:27.709025, lng: 86.867470};
var pisang={lat:28.648565, lng: 84.188716};
var yala={lat:28.228600, lng: 85.627624};
map = new google.maps.Map(document.getElementById('nepal_map'), {
zoom: 7,
center:nepal
});
addMarker(lobuche);
addMarker(island);
addMarker(paldor);
addMarker(mera);
addMarker(pisang);
addMarker(yala);
clearMarkers();
}
function addMarker(location) {
var marker = new google.maps.Marker({
position: location,
map: map
});
markers.push(marker);
}
function setMapOnAll(map) {
for (var i = 0; i < markers.length; i++) {
markers[i].setMap(map);
}
}
function clearMarkers() {
setMapOnAll(null);
}
function showMarkers() {
setMapOnAll(map);
}
J'ai essaye des proprietes comme setVisible .isHidden ... mais ca ne marche pas j'arrive juste a afficher avec ce bouton!
J'aimerais eviter de mettre un deuxieme bouton juste pour effacer..! J'aimerais donc trouver cette fonction toggle!
Bonjour j'ai trouve une solution pour le toggle de marqueur
function toggleMarkers() {
if (markers[0].getMap() != null) {
var arg = null;
} else {
var arg = map;
}
for (var i = 0; i < markers.length; i++) {
markers[i].setMap(arg);
}
}
Je ne sais pas si c'est le plus pertinent mais maintenant je n'arrive pas a mettre une fenetre info a chaque marqueur..
J'ai essaye le script classique en l'adaptant mais rien ne se passe il y a le toggle qui marche mais rien quand j'appuie sur un marqueur
var infowindow = new google.maps.InfoWindow({
content: "Hello World !",
size: new google.maps.Size(100, 100)
});
google.maps.event.addListener(marker, 'click', function(){
infowindow.open(map,marker);
});
Je me permets de faire remonter ce post. En effet, j'ai repris a faire certaines choses qui en ont fait bugger d'autres. J'ai reussi a mettre mes marqueurs dans un tableau, de leur mettre une fenetre info.
Je suis revenu a mon probleme de toggle qui affiche et cache tous les marqueurs.
Je vous remets mon code :
var map;
var markers;
function initMap() {
var nepal={lat: 28.240381, lng: 83.973038};
map = new google.maps.Map(document.getElementById('nepal_map'), {
zoom: 7,
center:nepal
});
var markers = [
['Lobuche', 27.955762,86.794760],
['Island', 27.919593,86.934933]
];
var infoWindowContent = [
['Lobuche!!!'],
['Island!!!']
];
// Display multiple markers on a map
var infoWindow = new google.maps.InfoWindow(), marker, i;
// Loop through our array of markers & place each one on the map
for( i = 0; i < markers.length; i++ ) {
var position = new google.maps.LatLng(markers[i][1], markers[i][2]);
marker = new google.maps.Marker({
position: position,
map: map,
visible:(false)
});
// Allow each marker to have an info window
google.maps.event.addListener(marker, 'click', (function(marker, i) {
return function() {
infoWindow.setContent(infoWindowContent[i][0]);
infoWindow.open(map, marker);
}
})(marker, i));
}
}
Voici ma fonction qui ne marche pas, je ne pense pas etre tres loin mais ca coince toujours:
function toggleMarkers() {
for( i = 0; i < marker; i++ ) {
if (marker.setMap() !== false) {
marker.setMap(false);
} else {
marker.setMap(true);
}
}
}
Merci beaucoup pour votre aide! bon dimanche!
bouton toggle carte googlemapAPI
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.