Quand j’ai commencé mon stage chez EklaBlog, ma première mission fut : Permettre aux blogueurs d’ajouter facilement une carte Google Map à leurs articles…
Je commençais à réaliser alors une class en php qui allait me faciliter la tâche, pour que je puisse par la suite, et avec de simple appelles de méthodes:
- Générer la map en fonction d’une adresse entré manuellement (utilise GClientGeocoder()) .
- Sélectionner différents styles de marqueurs .
- Sélectionner différentes couleurs de marqueurs .
- Supporter l’insertion de plusieurs adresses, j’ai testé jusqu’à 10 adresses.
- Personnaliser le texte de l’info bulles.
- Personnaliser le lien à cliquer en cas de plusieurs adresses.
La class est testé _et marche très bien _ sous:
- FF 3.0 +
- IE 8
- Opera 10.1 +
- Chrome 5
Mais elle doit marcher sans problèmes sur les autres navigateurs/versions.
—————————————————————
How to use:
—————————————————————
1. Get a google map key depuis http://www.google.com/apis/maps/signup.html
2. Extraire la class HappyGoogleMap .
3. Créer un fichier php.
4. Commencer par inserer le code d’exemple en dessous .
—————————————————————
Code Sample:
—————————————————————
<?php
require'HappyGoogleMap.class.php';
//Creation de l'instance de l'objet avec votre Key
$gm = new HappyGoogleMaps("ABQIAAAAznbYKnw5PiIZDEZzbV-nAhQBjb4qLn9hyOlj0O-tfz7ttOeKbBT13HoY4WFnV8XOYQb_1c-SdVIQXg");
//Definition du type du marqueur
$gm->SetMarkerIconStyle('PIN');
//Definition du niveau de zoom
$gm->SetMapZoom(10);
//definition de la 1ere adresse
$gm->SetAddress("creteil, paris");
//texte dans l'info-bulle
$gm->SetInfoWindowText("Ceci est Creteil paris.");
//definition de la 2eme adresse
$gm->SetAddress("Fes, Morocco");
$gm->SetInfoWindowText("Ceci est ma ville.");
$gm->SetSideClick('Fes, Maroc');
?>
<html>
<head>
<title>Happy Google Map</title>
<?php echo $gm->gMapsKey(); ?>
</head>
<body>
<?php echo $gm->mapHolder(); ?>
<?php echo $gm->initJs(); ?>
<?php echo $gm->getSideClick(); ?>
<?php echo $gm->unloadMap(); ?>
</body>
</html>
—————————————————————
Modification des propriétés:
—————————————————————
//Activer/Desactiver la Map Continuous Zooming $gm->mContinuousZoom = FALSE; // default //Activer/Desactiver le zoom par double clique $gm->mDoubleClickZoom = FALSE; // default //Activer/Desactiver l'echelle de la carte (MI/KM) $gm->mScale = TRUE; // default //Activer/Desactiver Map Inset $gm->mInset = FALSE; // default //Activer/Desactiver le choix du Type de la carte (Map/Satellite/Hybrid) $gm->mMapType = FALSE; // default
—————————————————————
Ajuster la largeur et longueur de la carte:
—————————————————————
$gm->SetMapWidth(500); // default = 300 $gm->SetMapHeight(500); // default = 300
—————————————————————
Ajuster le zoom:
—————————————————————
$gm->SetMapZoom(10); // default = 13
—————————————————————
Personnaliser les marqueurs sur la carte:
—————————————————————
La class vient avec de nombreux choix concernant les marqueurs, et ce me pour faciliter la tache par la suite, et proposer au utilisateur final un produit +/- complet…
//Styles
$gm->SetMarkerIconStyle('FLAG');
$gm->SetMarkerIconStyle('GT_FLAT'); // default
$gm->SetMarkerIconStyle('GT_PILLOW');
$gm->SetMarkerIconStyle('HOUSE');
$gm->SetMarkerIconStyle('PIN');
$gm->SetMarkerIconStyle('PUSH_PIN');
$gm->SetMarkerIconStyle('STAR');
//Colors:
$gm->SetMarkerIconColor('PACIFICA'); // default
$gm->SetMarkerIconColor('YOSEMITE');
$gm->SetMarkerIconColor('MOAB');
$gm->SetMarkerIconColor('GRANITE_PINE');
$gm->SetMarkerIconColor('DESERT_SPICE');
$gm->SetMarkerIconColor('CABO_SUNSET');
$gm->SetMarkerIconColor('TAHITI_SEA');
$gm->SetMarkerIconColor('POPPY');
$gm->SetMarkerIconColor('NAUTICA');
$gm->SetMarkerIconColor('DEEP_JUNGLE');
$gm->SetMarkerIconColor('SLATE');
—————————————————————
Personnaliser le texte de l’info-bulle
—————————————————————
$gm->SetInfoWindowText("This is the address # 1.");
Note: Si la méthode (SetInfoWindowText) n’est pas appelé, l’adresse serait le texte par defaut dans l’info-bulle.
Télécharger le zip contenant la class et un exemple de son utilisation.
Toute utilisation, modification ou reproduction de la class est bien sur autorisée, ara hi wkane…






excellent article ne dors pas trop et met toi au travail et invente nous des classes jdad pour nous simplifier la vie ooh Dieu PHP
Qui dort ! moi ! si seulement c’était vrai …
Je viens en fait de finir un plugin pour l’editeur TinyMce qui permet l’ajout de cartes GMap, très simple à installer, bien plus simple à manier, ça pourrait en fait vous intéresser à http://www.lcassetta.com/ Vais le présenter dans un prochain article…
N’aurait-il pas été honnête de mentionner que cette source n’était pas de vous mais de Mitchelle C. Pascual ?
http://ordinarywebguy.wordpress.com
Bonjour Cavo
Je viens de visiter le site web de Mr Pascual, parle t-on de cette source là ? http://ordinarywebguy.wordpress.com/2007/01/17/gmaps-with-php-and-mysql/ . J’ai jeté un petit coup d’oeuil sur le code présenté dans l’article. J’ai du étudié plusieurs sources du genre avant de faire HappygoogleMaps, j’ai été peut être influencé par quelques une, mais je peux t’assurer que ça ce n’est la source de Mitchelle