Utilisation de Gmap

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Bonjour,

J'ai installé le module de Géolocalisation GMAP mais n'arrive pas à comprendre son utilisation.

J'ai créé un type de contenu spécial et ce contenu, j'aimerais le localiser directement sur la page ou avec un lien, grace à son adresse géographique.

Comment puis-je faire? Et existe t-il un tutoriel de GMap? Je n'en ai pas trouvé....

Merci et encore bravo pour votre travail!

Forum : 
Version de Drupal : 

Peut être que c'est à creuser cette histoire de géolocalisation, j'ai fais des recherches sur Google, et j'ai cru comprendre que le fonctionnement est le suivant :

  • détection de l'adresse IP
  • voir dans une base de données renseignée à quelle pays, ville etc. renvoi l'IP
  • renvoi d'un contenu en fonction de la localité (message, carte, page etc.)

Pour créer le module, un peu de PHP, rien de méchant, le plus dur, c'est de trouver une base de données renseignée (et gratuite !)...
Une idée ??

Je crois qu'il y a un malentendu...

Je parlais d'un contenu et non pas d'un visiteur...

Par exemple, 1) j'aimerais rentrer l'adresse de certaines personnes et les retrouver sur une carte directement sur la page de leur profil..

2) Avoir une carte toute seule sur une autre page qui me permet par exemple de voir ttes les personnes.... avec si possible la possibilité de faire des filtres sur ces personnes pour choisir d'en afficher certains...

Est ce plus clair?

Merci en tout cas pr votre aide et votre réactivité!

Merci kalis1 pour ce lien, c'est intéressant (même s'il n'y a apparemment pas de solution miracle : il faut payer pour avoir un base précise).

Sivasamba, quand tu dis "rentrer l'adresse de certaines personnes", tu parles d'une IP ou adresse postale ?

Le module Gmap te permets de faire ça...

Installe-le et configure-le, puis avec un script de ce genre, tu peux afficher ton adresse sur une carte Google :

<html>
  <head>
    <script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key="123456789"
      type="text/javascript"></script>
    <script type="text/javascript">
    //<![CDATA[

    function load() {
      if (GBrowserIsCompatible()) {
        var map = new GMap2(document.getElementById("map"));
        map.addControl(new GSmallMapControl());
        map.addControl(new GMapTypeControl());
        map.setCenter(new GLatLng(46.152694, -1.154659), 16);
      }
    }

    //]]>
    </script>
  </head>
  <body onload="load()" onunload="GUnload()">
    <div id="map" style="width: 500px; height: 300px"></div>
  </body>
</html>

Tu remplaces la clé "123456789" de mon exemple par la clé que Google t'as donné et "46.152694, -1.154659" par les coordonnées géographiques de ton adresse postale...

Merci.. C'est une piste intéressante mais c'est une solution uniquement pour une adresse postale rentrée en dure non?

Moi j'aimerais que cette carte s'adapte en fonction de l'adresse de la node... chaque node aura une adresse...

Merci beaucoup en tout cas

Je pense que ce système peut être appliqué à ton cas, à 2 conditions :

  • que l'auteur de la node te donne son adresse (ce qui est possible si tu as 4 ou 5 auteurs, mais plus délicat si ce sont des auteurs plus nombreux comme sur ce site)
  • que tu fasses toi même la démarche de chercher la latitude et la longitude correspondant à leurs adresses postale (c'est gratuit, pas compliqué, mais c'est le coup de le faire quoi...)

Avec ça, tu te montes une petite base de données et le script qui va avec, pas compliqué...

Sinon, tu as le choix de payer l'abonnement à des bases de données pour la géolocalisation ; tu pourras faire ce que tu veux, mais c'est payant (sauf si tu ne cherches qu'à afficher le pays d'origine).

C'est bien ce que je pensais...

Je pense que je vais m'orienter ta 2eme solution:
- que tu fasses toi même la démarche de chercher la latitude et la longitude correspondant à leurs adresses postale (c'est gratuit, pas compliqué, mais c'est le coup de le faire quoi...)

Du coup, je vais utiliser ton script avec les bonnes latitudes et longitudes...

en revanche tu peux m'expliquer le :

"Avec ça, tu te montes une petite base de données et le script qui va avec, pas compliqué..."

Merci beaucoup... J'avance doucement mais surement

Bah tu peux faire une table 'geo' dans ta base de données qui va contenir :
- nom (de l'auteur)
- prénom
- pseudo
- adresse
- code_postal
- ville
- pays
- latitude
- longitude

Et après, un script PHP qui récupère le pseudo de l'auteur de ta node, et qui retourne l'inclut dans une requete SQL du type :

"SELECT latitude, longitude FROM geo WHERE pseudo = 'la variable que tu as récupéré'

Et après, cette latitude et longitude, tu l'utilise pour ta carte Google...

Le module Gmap ne fonctionne vraiment bien que couple au module "location" ou justement tu peux saisir ton adresse par contenu et qui apres affiche une carte avec ta ou tes "locations" pour ce contenu...
Aux denieres nouvelles il est pas encore supra stable et c un peu une usine a gaz, mais bon...

J'ai installé les 2 modules mais la localisation ne se fait pas en entrant uniquement l'adresse...

En regardant des forums US, j'ai pu voir que la localisation par adresse ne pouvait se faire que pour les USA et le canada.
Pour la France, la seule chose qui marche, c'est de rentrer "en dur" la latitude et la longitude dans les champs créés par la module "location".
Et dans ce cas là, ca marche.

Il n'existe donc aucun moyen aujourd'hui avec Drupal et pour la France de localiser des nodes juste avec leur adresse c ca?
On est obligé de récupérer la latitude et la longitude?

Merci beaucoup!

J'avoue que j'ai pas trop joue avec location justement car j'etais pas super fan, j'ai juste vu qu'il y avait une base des codes postaux francais qui trainait sur d.o

Ceci dit je suis vraiment pas fan du couple gmap+location c vraiment usine a gaz...

Ce que je faisais pour mon ti test c'etait de permettre la localisation en cliquant sur la carte pour le node du coup c plus simple et plus visuel a mon avis...

C qd meme bizarre que la localisation par adresse marche pas ds location...

C qd meme bizarre que la localisation par adresse marche pas ds location...

Ouaip. En même temps, c'est pas trivial. Il peut y avoir des fautes de frappes dans l'adresse ou des ambiguités, il arrive que le géolocaliseur de Google renvoie plusieurs propositions, etc. Ce sont autant de cas de figures qui devraient être pris en charge par le module si on veut qu'il implémente cette fonctionnalité.

Bonjour...

Est ce que quelqu'un pourrait m'indiquer un vrai tutoriel pour véritablement être en mesure de placer manuellement ou automatiquement chaque node sur une carte et surtout que cette carte apparraissent sur la node...

merci beaucoup pour votre aide!

Je pense que avec le module localisation + gmap ça doit être possible de le faire avec un poil de javascript.

En gros tu active la localisation pour le contenu (ou les utilisateur) que tu veux géolocaliser. Ensuite si gmap est activé tu pourra renseigner la long/lat via une map google (je pense que tu as déjà vu ça...). Le seul truc qui te reste à faire c'est via du javascript lorsque l'utilisateur renseigne le champs "pays" par exemple recentrer la carte sur ce pays.

J'ai posté le bug ici: http://drupal.org/node/213789

Personnellement j'ai testé GMAP + Location et il me semble que cela marche très bien.

J'ai crée un contenu spécifique, j'y ai inclus le formulaire de location avec les champs rue, ville, ...

Lorsque l'on crée un nouveau contenu, je rentre mon adresse et sauvegarde le noeud. Le module me calcule automatique la latitude et la longitude du noeud.

On peut ensuite aller directement dans la vue node location map qui va afficher tous les noeuds qui ont des informations cartographiques.

Ou alors créer un bloc qui va afficher la carte lorsque l'on va visualiser le noeud.

Ou alors créer un panel qui affiche les info du noeud avec une jolie carte.

C'est cela que vous voulez faire ?