Vous avez trouvé ce tutoriel intéressant ? Recommandez le en cliquant sur le bouton +1    

Cases à cocher pour sélectionner les marqueurs à afficher

Tutoriel publié le Mis à jour le
Tutoriel en Français

Télécharger le code : Utilisation des tags avec Google Maps

Cet exemple vous montre comment utiliser les tags avec les overlays de Google Maps.

Ici, les marqueurs sont ajoutés à l'aide des données contenues dans ce fichier : villes.js

Chaque marqueur utilise une région comme tag.

Cliquez dans les cases à cocher ou sur leurs intitulés pour afficher / masquer les marqueurs en fonction de leur région d'appartenance.

Carte

Code

<!DOCTYPE html>
<html lang="fr">
	<head>
		<meta name="viewport" content="initial-scale=1.0, user-scalable=no"/>
		<meta charset="UTF-8"/>
		<title>Votre titre de page</title>
		<style type="text/css">
			html{height:100%}
			body{height:100%;margin:0px;padding:0px}
			#maCarte{height: 50%;}
			#dpts{height: 48%;}
		</style>
		<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.4.min.js"></script>
		<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false"></script>
		<script type="text/javascript" src="http://www.votredomaine.fr/js/gmap3.js"></script>
		<script type="text/javascript" src="http://www.votredomaine.fr/js/villes.js"></script>
		<script type="text/javascript"> 
			$(function(){
				var data = [], 
					tmp = {},
					regions = [],
					$dpts = $("#dpts");
				
				$.each(villes, function(i, ville){
					data.push({
						lat: ville.lat,
						lng: ville.lng,
						tag: ville.region,
						data: ville
					});
					tmp[ ville.region ] = true;
				});
				
				for(var r in tmp){
					regions.push(r);
				}
				regions = regions.sort();
				
				for(var k in regions){
					$dpts.append('<input id="chk'+k+'" type="checkbox" checked><label for="chk'+k+'">'+regions[k]+'</label><br />');
				}
				
				$('input', $dpts).change(function(){
					var region = $('label[for='+$(this).attr('id')+']', $dpts).html(),
					checked = $(this).is(':checked'),
					map = $('#maCarte').gmap3('get'),
					markers;
					
					markers = $('#maCarte').gmap3({
						action:'get',
						name:'marker',
						all: true,
						tag:region
					});
				
					$.each(markers, function(i, marker){
						marker.setMap( checked ? map : null);
					});
				
				});
				
				$('#maCarte').gmap3(
					{
						action:'init',
						options:{
							center:[46.578498,2.457275],
							zoom: 5
						}
					},
					{
						action:'addMarkers',
						markers: data
					}
				);
			});
		</script>
	</head>
	
	<body>
		<div id="maCarte"></div>
		<div id="dpts"></div>
	</body>
</html>

 

Source

Tags

Résumé

GMap3 Plugin JQuery : Marqueurs et case à cocher

Marqueurs et case à cocher