Dotmap 1.1 : géolocalisez les billets de votre blog sur des Google Maps

Dotmap 1.2, nouvelle version disponible ici.

Eh bien ce plugin aura quelques jours à mûrir, puis deux petites semaines avant de voir le jour.

Le plugin Dotmap permet d’associer à un billet (sous un blog propulsé par Dotclear) des informations de localisation. Ainsi, il est possible de visualiser sur une carte Google Map des marqueurs qui correspondent aux billets en question. Très pratique pour les blogueurs itinérants!

Vous pouvez en voir une utilisation concrête sur ce blog : http://www.onsefaitunrestau.com.

Pour installer le plugin Dotmap, c’est assez simple :

– Télécharger le plugin (voir ci-dessous)
– Générer chez Google une clé pour utiliser l’API Google Maps.
– Suivre la procédure d’installation indiquée dans la page d’administration du plugin.
– Ne pas oublier de mettre à jour votre feuille de style.

Dans l’interface d’administration, sélectionnez les billets et ajoutez-leur une adresse. Une fonction convertira chaque nouvelle adresse en points longitude – latitude et l’associera au post sélectionné. Vous verrez ensuite le post être positionné sur la carte Google.

Attention : ce plugin s’appuie sur le plugin Métadonnées pour fonctionner et ne fonctionne qu’avec Dotclear 1.2.X. Une version pour Dotclear 2.X est en préparation.

N’étant qu’un codeur occasionnel, j’espère que le plugin fonctionnera sans trop de problèmes chez vous. J’ai repris un peu de code existant par-ci par là ; inutile de réinventer la roue lorsque quelqu’un l’a déjà faite avant vous 🙂

J’attend vos remarques et commentaires, suggestions et n’hésitez pas à me remonter tout problème ou bug.

Note : plugin sous licence GPL.

15 comments

  1. Salut. il a l’air trop bien ton plugin.
    J’ai installé les plugins metadonnés et Dotmap sans problème mis les fichiers template, list et post à jour mais à mon avis il me manque de l’info car quand Je met tout ça en place quand je clic sur un billet, il me met le détail du billet et en dessous Query failed.

    Donc déjà j’aurai voulu savoir si il n’y a pas quelque chose à faire avec metadonné ? à part juste l’installé.
    Et est-ce qu’on est obligé de renseigné la localisation pour tous les billets ?

  2. Arrghh… un vieux bug.
    Dans le fichier "dotclear/ecrire/tools/dotmap/function.php" il faut remplacer

    $adr = getAddress(…..)

    par:
    $adr = twPostMeta::get($post->f(‘post_id’),’dotmap_adr’, true);

    désolé, je modifie le package.

  3. Bonjour,

    j’ai récement installé la dernière version de dotmap qui semblait jusqu’à aujourd’hui marcher à merveille 🙂

    Pour certaine ville, les recherches n’aboutisse plus alors qu’elle marchait hier encor.

    Par exemple pour la ville de dijon.

    Pour certaine ville comme Champvans, ça ne marche pas alors que sur google map ça aboutit.

    Parfois sur la page de dotmap dans ma partie admin, je lis ce message là :

    Warning: fopen(maps.google.com/maps/geo?… [function.fopen]: failed to open stream: HTTP request failed! in /mnt/114/free.fr/c/0/walduch/SiteWeb/blog/ecrire/tools/dotmap/functions.php on line 197

    Warning: Cannot modify header information – headers already sent by (output started at /mnt/114/free.fr/c/0/walduch/SiteWeb/blog/ecrire/tools/dotmap/functions.php:197) in /mnt/114/free.fr/c/0/walduch/SiteWeb/blog/ecrire/inc/model.inc.php on line 177

    Warning: Cannot modify header information – headers already sent by (output started at /mnt/114/free.fr/c/0/walduch/SiteWeb/blog/ecrire/tools/dotmap/functions.php:197) in /mnt/114/free.fr/c/0/walduch/SiteWeb/blog/ecrire/inc/model.inc.php on line 178

    Warning: Cannot modify header information – headers already sent by (output started at /mnt/114/free.fr/c/0/walduch/SiteWeb/blog/ecrire/tools/dotmap/functions.php:197) in /mnt/114/free.fr/c/0/walduch/SiteWeb/blog/ecrire/inc/model.inc.php on line 179

    Warning: Cannot modify header information – headers already sent by (output started at /mnt/114/free.fr/c/0/walduch/SiteWeb/blog/ecrire/tools/dotmap/functions.php:197) in /mnt/114/free.fr/c/0/walduch/SiteWeb/blog/ecrire/inc/model.inc.php on line 180

    Quelqu’un serait t’il m’aider?

    Merci beaucoup ^^

  4. je viens de decouvrir ton plugin, il est vraiement sympa et simple a installer.
    par contre peut on entrer des longitudes et latitudes et si oui de quel facon ?
    et enfin comme je vais me promener dans la campagne, les plan/carte de google n existe pas. donc j aimerai pouvoir forcer l affichage en mode satelitte, et serait il possible d avoir la possibilite de choisir le type d’affichage sur les cartes.
    merci d avance pour tout

  5. @walduch : j’avais eu le même problème pour Champvans que pour Sauternes par exemple : l’adresse était géolocalisée dans google Maps mais pas dans le plugin.

    En recherchant sur les formus de l’API, il semble que les bases de données de géolocalisation de Google Maps ne soient pas strictement identiques à celles que Google Maps utilise dans son API.

    D’où, des résultats pas strictement identiques.

    Pour certaines recherche, mettre un accent ou un espace, voire un retour charriot en trop peut faire flancher la recherche. Si tu as deux trois exemples à m’envoyer mot pour mot, que je puisse investiguer ?

    Concernant le bug, je recherche dans la semaine… ça ne doit pas être bien méchant.

  6. @karl = entrer des latitudes/longitunes n’est pas encore prévu, je l’intègrerai dans une prochaine version.

    En attendant, passer par le plugin metadonnées et entrer pour chaque post concerné, les datas à la main.

    De mémoire il s’agit des 3 valeurs suivantes:
    key: dotmap_lon ; ajouter la valeur de la longitude
    key: dotmap_lat ; ajouter la valeur de la latitude
    key : dotmap_adr ; mettre une adresse bidon (elle sera affichée en titre du marqueur sur la carte).

    Pour l’affichage en mode satellite, ca n’est pas compliqué.
    Je vais essayer de fournir une nouvelle version dans la semaine qui intègrera deux trois remarques simples à mettre en oeuvre comme celle-ci.

  7. super merci looic, j’attend avec impatience ces remarques.
    sinon je ne sais pas si tu connais, mais j avais regarder un super tuto sur googlemap en php ici :
    fardeen.biz/index.php/tut…
    je ne sais pas du tout si ca pourra t aider.
    sinon ce qui serait encor plus genial, mais je ne sais pas si c est possible.
    ce serait d’associer des donner de géolocalisation aux galeries du plugin galerie 0.9. Comme ca on pourrait dire d’ou viennent les images ….
    enfin déja merci beaucoup pour les infos de cet apres midi, je rentre mes données par metadonnées car ca bug un peu dans l’interface d’admin.
    cet apres midi avec certaine ville ca marchait, mais maintenant avec les memes … surement un bug temporaire de google.
    en tout cas je revais d’un plugin googlemap a dotclear et tu l’as fait
    encor un grand merci.
    sinon question :
    dans quel fichier spécifit on la dimension de la map qui recapitule tous les marqueurs.
    et quel est le fichier pour modifier la page ou il y a tous les marqueurs car j’aimerai oter la sidebar sur cet article pour pouvoir mettre une carte en grand …
    merci d’avance et a bientot

  8. @karl => pour modifier la taille de la map, il faut aller dans la feuille de style, modifier les pramètres "height" et "width". Ca doit être dans le style "dotmaphomemap" de mémoire.

    Sinon pour mettre une carte en grand, tu dois pouvoir utiliser le pugin Related. Celui-ci te permet de créer des pages "statiques" sur-mesure, mais je n’ai jamais essayé et je ne sais pas si tu veux ôter la sidebar avec ce plugin.

  9. @walduch : OK je viens de tester avec Dijon.
    L’API ne sait pas résoudre "Dijon" seule, il faut indiquer : "Dijon, France".

    Ca résoud souvent des problèmes de géolocalisation.

  10. j ai reussi a afficher la carte principale sans la sidebar
    pour faire ca je me suis inspire du code qui est dans galerie.
    en faite dans mon template.php j’ai ca :

    <?php if ($mode!=’galleryCat’ & $mode!=’galleryGal’ & $mode!=’galleryImage’) : ?>
    <div id="sidebar">

    je l ai remplace par :

    <?php if ($mode!=’galleryCat’ & $mode!=’galleryGal’ & $mode!=’galleryImage’ & $mode!=’dotmaphome’) : ?>
    <div id="sidebar">

    pour que ca marche, ne pas oublier de mettre un endif avant le footer :

    <?php endif; ?>
    <p id="footer"><a href="http://www.dotclear.net/"&g...

    et enfin pour redimensionner la taille de la map
    il faut modifier le style.css
    .dotmaphomemap et adapter le width et le height
    mais aussi le height et width dans
    dotclear\ecrire\tools\dotmap\index.php ligne 214 et 215 les height et width
    voila pour ceux qui ne comprennent pas voici la demo :
    1866.free.fr/dotclear/ind…

  11. salut,

    j’ai aussi intégré ce plugin et

    j’aimerais pouvoir afficher l’une ou l’autre carte en mode sattelite

    et comme je l’ai lu un peu plus ca ne va pas tarder

    en tout cas super boulot

Leave a Reply

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *