Antoine Guiral : apprenti du web 2.0

Partage d’expériences sur le web

[tuto mashup] Google maps sur votre site : c’est possible! (version statique)

Posté par Guiral antoine le janvier 24, 2008

Le tutoriel est présent sur mon nouveau blog (lien direct vers le tutoriel). Désolé pour la gène occasionnée…

Je vous en parlais il y a quelque jour, le voila! Un petit tutoriel pour faire un mashup avec google maps sur votre site. J’ai réalisé un site début janvier pour l’école : www.le-passe-livre.com qui utilise google maps.

  • Vue d’ensemble du tutoriel

Nous allons utiliser une classe php (une fois de plus :-) ) qui va nous permettre d’utiliser très simplement l’API de google. Comme presque toutes les API vous devez obtenir une clé pour pouvoir utiliser le service. Puis nous construirons notre google map en placant nos marqueurs sur la carte. Enfin nous l’afficherons.

  • Télécharger la classe et activer l’API

Vous pouvez télécharger la classe ici. Créez un dossier “classe” à la racine de votre site et décompressez l’archive à l’interieur. Vous devez maintenant obtenir la clé qui va vous permettre d’utiliser l’API de google maps. Pour pouvoir tester votre site en local indiquez http://127.0.0.1/ pour l’url de votre site.

  • Création de la carte google

Je pense que le code est assez bien commenté. On créé une instance de notre carte, puis on fait le lien avec la clé google et on définit les caractéristique de notre carte (taile,type de carte,etc etc).

Afin d’optimiser le référencement de mon nouveau blog, je suis contraint de tronquer se billet…La suite du tutoriel est présent sur mon nouveau blog (lien direct vers le tutoriel). Désolé pour la gène occasionnée…

14 Réponses vers “[tuto mashup] Google maps sur votre site : c’est possible! (version statique)”

  1. Jérôme a dit

    Bonjour, et merci pour ce tuto.

    Pour ma part, quand j’actualise ma page, odnc ma carte, certains marqueurs disparraissent, puis réapparaissent le coup suivant, comme si j’avais un certain affichage aléatoire.
    J’affiche dynamiquement une cinquantaine de lieux en France, à partir de l’association CP-Ville, cela après interrogation via requete SQL de ma BDD.

    Peux-être trop de requêtes de géolocalisation en peu de temps qui fait que certaines passent “à la trappe” ???

    Si quelqu’un a une idée, je suis preneur !

    Merci

  2. Bonjour Jérôme!

    Alors je n’ai jamais été jusqu’à 50 lieux (seulement une 15ene pour tester) et je n’avais pas ce problème. Je ne vois pas trop d’où peut venir ton problème dans le sens ou le php executé coté serveur va écrire du javascript qui sera executé coté client. Si ta requete est bien faite ton php ecrira tes 50 lieux en JS. Et si tes 50 lieux sont ecrient ben ils devraient s’executer TOUS. Pourrais tu mettre un lien pour que l’on puisse voir ça de plus près?

    Merci et à bientôt!

  3. Jérôme a dit

    Salut Antoine

    Voici la page que je cherche à développer : http://www.jesuisne.fr/carte_naissances.php

    Comme tu peux le voir, d’un coup à l’autre, les marqueurs ne sont pas les mêmes. Pourtant ma BDD n’évolue pas !

    Merci

    Jérôme

  4. salut,

    hum oui je viens de regarder…il y a toujours 8 marqueurs “de base” puis parfois certains viennent se rajouter a toulouse, bézier et paris…Je ne sais pas trop quoi te dire! Si tu veux que je regarde ton source envoi le moi par mail guiral.antoine[at]gmail[dot]com. Sinon je ne vais pas tarder à sortir la suite du tuto c’est à dire la version dynamique.

    En tout cas j’aime bien le service que tu propose! Si je trouve le temps je publierais un billet qui en parle un de ces 4 :-)

    A bientôt

    Antoine

  5. Jérôme a dit

    Merci Antoine, ton commentaire me fait plaisir ! ;-)

    Comme tu peux le voir, je développe un tout nouveau service de géolocalisation des naissances annoncées avec notre plateforme. A terme, quand je maitriserai cette API google map, je proposerai en plus dans l’infobulle la photo de l’enfant, et le faire-part textuel (au choix des parents bien sur)

    Je t’envoi mon script par mail !

    Merci !

  6. De rien!

    C’est une bonne idée de mettre photo+faire part dans l’infobulle! Si tu regarde le source que je t’ai envoyé tu devrais pouvoir t’en sortir pour gérer les infobulles :-)

    Je regarde ton script dès que je le reçoit ;-)

    A+

  7. Jérôme a dit

    Merci pour ton script ! J’attends tes commentaires sur le mien !

  8. meganic a dit

    bonjour, alors voila j’aimerais faire mumuse avec google maps en utilisant la meme api que celle du tuto mais le probleme c’est que je n’y arrive pô :/

    j’ai juste une carte toute grise qui apparait et aucun marqueur.

    j’suis un peu une quiche en html, javascript, php mais bon, j’ai copié collé le code, remplacé la clef , tout et tout et pourtant toujours rien…

    une idee?

  9. salut!

    as tu bien pris la “bonne clé” pour l’api? c’est dire si tu test en local il te faut une clé pour l’adresse http://127.0.0.1/ si tu test sur ton site il faut l’adresse de ton site.

    Après sans voir ton code c’est dure de te débuggé. Et le but d’un tuto c’est pas de copier coller le code, c’est d’essayer de lire, comprendre, apprendre le code ;-)

  10. meganic a dit

    salut, reponse rapide dis-donc ..! :)

    La clef est bonne, je l’utilise pour tester en local des trucs a partir des examples de la google maps api… sans probleme.

    Pour le copier-coller, j’suis bien d’accord que le but du tuto est d’apprendre … :) j’ai pas copié collé sans essayer de comprendre loin de la , mais j’ai pensé qu’il serait bien de deja voir le resultat de ton exemple…:)
    j’etais deja meme parti pour etendre l’API avec des fonctions qui vont m’etre utiles pour mon projet…. mais bon deja la comme ca ça ne fonctionne pô.

    En lisant le code j’ai d’abord vu que tu initialises la map avec :
    $map = new GoogleMapAPI(’map’,’tutoriel_map’);

    puis le code html qui fait

    //la carte
    printMap(); ?>
    //les racourcis vers les marqueurs (2eme parametre des marqueurs)
    printSidebar();?>

    alors je me suis dit, bingo, l’id du div conteneur est ‘map_map’ et c initialisé avec map..
    Mais bon c’etait pas ça vu que l’id donné au constructeur va etre utilisé pour ecrire le code (via “getMapJS()”) du div conteneur necessaire.

    enfin bon le code de ma page .php est donc le suivant:

    J’ai supprimer ton code parce que wordpress ne l’accepte pas. guiral.antoine[at]gmail[dot]com

  11. On continue par mail si cela ne te dérange pas. Par contre pas beaucoup de temps en ce moment. (Va falloir que je pense à faire payer un jour lool)

  12. meganic a dit

    hum..bon , en gros ce que j’essaie de poster, c’est que dans ma page php, j’ai
    le meme code php que ds le tuto, suivit du code html, le meme que le tuto…tout ca avec ma clef, valide pour mon site.

    j’ai bien la page avec la carte qui s’affiche mais c tout gris…
    g pas les tiles des images.
    les controles sont la , fonctionnels apparement…(j’ai laissé la mini map, changé le type de carte, etc…)
    j’ai tenté un “$map->setCenterCoords();” et d’autres trucs..

    -> pas de message d’erreur, aucun message non plus de webdevelopper… meme resultat sous ie que sous firefox…

    a n’y rien comprendre…
    :/

  13. meganic a dit

    Te derange pas pour moi jvais me debrouiller. :)
    Après tout je débute seulement ds le dev web et j’ai encore bcp de choses a apprendre…

    J’vais dissequer l’api car de toutes facons j’ai besoin de m’en developper une a moi, avec certaines fonctionnalités en moins, et bcp d’autres en plus…

    Merci tout de meme.
    je tiendrai au courant quand j’aurai trouve la solution et peut-être aussi qd j’aurai une version montrable de mon projet :) (et non…. rien a voir avec flickr..:):))

  14. [...] de données (1/2)[tuto jquery] drag ‘n drop avec sauvegarde automatique en base de données (2/2)[tuto mashup] Google maps sur votre site : c’est possible! (version statique)[tuto mashup] Galerie photo animée via Flickr : animer votre galerie (2/2)[tuto mashup] Galerie [...]

Laisser un commentaire

XHTML: Vous pouvez utiliser ces étiquettes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <pre> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>