Récupérer automatiquement la latitude et la longitude d'une page Google Maps

Consultez la formation Google Maps, News, Images de WebRankInfo / Ranking Metrics


OTP
Modérateur
Modérateur
 
Messages: 19532
Inscription: 16 Déc 2005

Récupérer automatiquement la latitude et la longitude d'une page Google Maps

Message le Lun Nov 30, 2009 23:03

Bonsoir,

J'utilise énormément Google Maps pour récuperer des latitudes/longitudes que je dois recopier dans un classeur Excel.
Actuellement, j'utilise le lien 'Lien' de Google Maps, je copie l'URL, la colle dans une cellule d'un classeur Excel spécial qui extrait les coordonnées puis je sélectionne les deux cases qui contiennent les deux coordonnées et enfin je copie ça dans le bon classeur Excel avec un collage spécial pour ne pas copier la formule...

En gros, c'est long et fastidieux, d'autant plus que je le fais souvent. :roll:

Ma question : peut-on aisément développer une sorte d'extension Firefox (ou tout autre moyen) qui récupererait automatiquement l'URL de la page, l'analyserait et remplirait le presse-papier ?

Vu le temps que je passe à la chose, je suis prêt à fouiller un peu pour trouver un moyen de gagner ensuite pas mal de temps.

Je suis preneur de toute suggestion.

OTP


screuscreu
WRInaute impliqué
WRInaute impliqué
 
Messages: 968
Inscription: 14 Jan 2008

Re: Récupérer automatiquement la latitude et la longitude d'une page Google Maps

Message le Lun Nov 30, 2009 23:10

Un simple JS exécute via un bookmark ?
Un peu comme le firebug pour IE si tu vois ?


OTP
Modérateur
Modérateur
 
Messages: 19532
Inscription: 16 Déc 2005

Re: Récupérer automatiquement la latitude et la longitude d'une page Google Maps

Message le Lun Nov 30, 2009 23:14

Non, je ne vois pas (mais alors pas du tout ! ;) ), mais je vais regarder la piste.
Merci.


screuscreu
WRInaute impliqué
WRInaute impliqué
 
Messages: 968
Inscription: 14 Jan 2008

Re: Récupérer automatiquement la latitude et la longitude d'une page Google Maps

Message le Lun Nov 30, 2009 23:19

le truc c'est comme le lien "firebug lite" ici :
http://getfirebug.com/lite.html

Si tu te créer un truc comme cela dans tes bookmarks ça devrait le faire ... même directement le rentrer dans une BDD si tu veux.

Tu vois mieux ou pas ?


screuscreu
WRInaute impliqué
WRInaute impliqué
 
Messages: 968
Inscription: 14 Jan 2008

Re: Récupérer automatiquement la latitude et la longitude d'une page Google Maps

Message le Lun Nov 30, 2009 23:28

Ou plus simplement via l'extention https://addons.mozilla.org/fr/firefox/addon/748
qui te permet d'exécuter n'importe quel script JS.
Donc à toi de récupérer le window.location.href et de réutiliser tes formules d'excel.


OTP
Modérateur
Modérateur
 
Messages: 19532
Inscription: 16 Déc 2005

Re: Récupérer automatiquement la latitude et la longitude d'une page Google Maps

Message le Mar Déc 01, 2009 8:32

Merci. je regarde et je te tiens au courant.


forty
WRInaute passionné
WRInaute passionné
 
Messages: 1701
Inscription: 30 Oct 2008

Re: Récupérer automatiquement la latitude et la longitude d'une page Google Maps

Message le Mar Déc 01, 2009 10:46

je me suis fait un petit formulaire pour récupérer une lati/longi. ca permet de positionner un marqueur à partir d'une adresse, de le déplacer puis ca copie la valeur dans le clipboard (sous firefox).
Code: Tout sélectionner
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Latitude et longitude d'une adresse</title>
<meta name="robots" content="none">
<script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=<your_key>&amp;hl=fr" type="text/javascript"></script>
<script type="text/javascript">
<!--
var map = null;
var geocoder = null;
var marker = null;
var point = null;

function InitGoogleMap() {
   if (GBrowserIsCompatible()) {
      map = new GMap2(document.getElementById('google_map'));
      map.addControl(new GLargeMapControl());
      map.addControl(new GMapTypeControl());
      map.addControl(new GScaleControl());
      point = new GLatLng(43.599414,3.925509);
      map.setCenter(point, 5);
      map.setMapType(G_HYBRID_MAP);
      geocoder = new GClientGeocoder();
   }
   document.forms['formulaire'].elements['address'].focus();
}

if (!window.clipboardData) {
   window.clipboardData = {
      setData : function(mode,content) {
         if (netscape) {
            try {
               // On test si la configuration permet l'accès au presse-papier.
               netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
            } catch (e) {
               alert("Impossible d'accéder au presse-papier. La solution est là : http://groups.google.com/group/Snipurl/web/copy-to-clipboard-not-working");
            }
            // Initialisation du composant fournit par Mozilla.
            var gClipboardHelper = Components.classes["@mozilla.org/widget/clipboardhelper;1"].getService(Components.interfaces.nsIClipboardHelper);
            // Copie du texte dans le presse papier.
            gClipboardHelper.copyString(content);
         }
      }
   }
}

function showAddress(address) {
   if (geocoder) {
      geocoder.getLatLng(address,
         function(unpoint) {
            if (!unpoint) {
               alert(address + " not found");
            } else {
               map.setCenter(unpoint, 13);
               if (marker) {
                  map.closeInfoWindow();
                  map.removeOverlay(marker);
               }
               marker = new GMarker(unpoint, {draggable: true});
               map.addOverlay(marker);
               window.clipboardData.setData('Text', marker.getPoint().toUrlValue());
               marker.openInfoWindowHtml(marker.getPoint().toUrlValue()+'<br>zoom : '+map.getZoom());
               GEvent.addListener(marker, "click", function() {
                  map.setCenter(unpoint, map.getZoom()+1);
                 });
               GEvent.addListener(marker, "dragstart", function() {
                  map.closeInfoWindow();
               });
               GEvent.addListener(marker, "dragend", function() {
                  window.clipboardData.setData('Text', marker.getPoint().toUrlValue());
                  marker.openInfoWindowHtml(marker.getPoint().toUrlValue()+'<br>zoom : '+map.getZoom());
               });
            }
         }
      );
   }
}

window.onload = InitGoogleMap;
window.onunload = GUnload;
-->
</script>
</head>
<body>
<form action="#" name="formulaire" onsubmit="showAddress(this.address.value); return false;">
   <p>
   <input type="text" size="60" name="address" value="">
   <input type="submit" value="Go!">
   </p>
   <div id="google_map" style="width: 1000px; height: 450px;"></div>
</form>
</body>
</html>


OTP
Modérateur
Modérateur
 
Messages: 19532
Inscription: 16 Déc 2005

Re: Récupérer automatiquement la latitude et la longitude d'une page Google Maps

Message le Mar Déc 01, 2009 10:53

Je teste ce soir, merci.


OTP
Modérateur
Modérateur
 
Messages: 19532
Inscription: 16 Déc 2005

Re: Récupérer automatiquement la latitude et la longitude d'une page Google Maps

Message le Mar Déc 01, 2009 21:12

@forty : tu crois qu'on peut modifier la page pour avoir :

1- le zoom actif à la roulette
2- la fenêtre à la demande quand on a trouvé le point recherché ?

Michaël


forty
WRInaute passionné
WRInaute passionné
 
Messages: 1701
Inscription: 30 Oct 2008

Re: Récupérer automatiquement la latitude et la longitude d'une page Google Maps

Message le Mar Déc 01, 2009 22:19

1- je crois que la réponse est là : http://www.applications-google-maps.com/appli-GM-zoom-souris.php

2- je n'ai pas compris le besoin


OTP
Modérateur
Modérateur
 
Messages: 19532
Inscription: 16 Déc 2005

Re: Récupérer automatiquement la latitude et la longitude d'une page Google Maps

Message le Mar Déc 01, 2009 22:22

1- Merci pour le lien.

2- Ton outil actuel : on saisit le nom, on a les lat/long illico
Ce que je voudrais faire : on saisit le nom, on affine la position, puis un clic sur un 2ème bouton affiche la fenêtre


forty
WRInaute passionné
WRInaute passionné
 
Messages: 1701
Inscription: 30 Oct 2008

Re: Récupérer automatiquement la latitude et la longitude d'une page Google Maps

Message le Mar Déc 01, 2009 22:52

tel que c'est actuellement tu peux déplacer le marqueur. La fenêtre se réaffiche automatiquement avec les nouvelles coordonnées.


OTP
Modérateur
Modérateur
 
Messages: 19532
Inscription: 16 Déc 2005

Re: Récupérer automatiquement la latitude et la longitude d'une page Google Maps

Message le Mer Déc 02, 2009 20:31

Ah oui, excellent.
Je vais approfondir alors.
Merci.


OTP
Modérateur
Modérateur
 
Messages: 19532
Inscription: 16 Déc 2005

Re: Récupérer automatiquement la latitude et la longitude d'une page Google Maps

Message le Ven Déc 04, 2009 21:24

J'ai légèrement changé le code pour :

- activer la roulette
- que les coordonnées soient directement collables dans deux cellules Excel adjacentes.

Code: Tout sélectionner
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Latitude et longitude d'une adresse</title>
<meta name="robots" content="none">
<script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=<cle>&amp;hl=fr" type="text/javascript"></script>
<script type="text/javascript">
<!--
var map = null;
var geocoder = null;
var marker = null;
var point = null;

function InitGoogleMap() {
   if (GBrowserIsCompatible()) {
     map = new GMap2(document.getElementById('google_map'));
     map.addControl(new GLargeMapControl());
     map.addControl(new GMapTypeControl());
     map.addControl(new GScaleControl());
     point = new GLatLng(43.599414,3.925509);
     map.setCenter(point, 5);
     map.setMapType(G_HYBRID_MAP);
     geocoder = new GClientGeocoder();
     map.enableScrollWheelZoom();
   }
   document.forms['formulaire'].elements['address'].focus();
}

if (!window.clipboardData) {
   window.clipboardData = {
     setData : function(mode,content) {
       if (netscape) {
         try {
            // On test si la configuration permet l'accès au presse-papier.
            netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
         } catch (e) {
            alert("Impossible d'accéder au presse-papier. La solution est là : http://groups.google.com/group/Snipurl/web/copy-to-clipboard-not-working");
         }
         // Initialisation du composant fournit par Mozilla.
         var gClipboardHelper = Components.classes["@mozilla.org/widget/clipboardhelper;1"].getService(Components.interfaces.nsIClipboardHelper);
         // Copie du texte dans le presse papier.
         gClipboardHelper.copyString(content);
       }
     }
   }
}

function showAddress(address) {
   if (geocoder) {
     geocoder.getLatLng(address,
       function(unpoint) {
         if (!unpoint) {
            alert(address + " not found");
         } else {
            map.setCenter(unpoint, 13);
            if (marker) {
              map.closeInfoWindow();
              map.removeOverlay(marker);
            }
            marker = new GMarker(unpoint, {draggable: true});
            map.addOverlay(marker);
            window.clipboardData.setData('Text', marker.getPoint().lat()+'\t'+marker.getPoint().lng());
            marker.openInfoWindowHtml(marker.getPoint().lat()+'\t'+marker.getPoint().lng()+'<br>zoom : '+map.getZoom());
            GEvent.addListener(marker, "click", function() {
              map.setCenter(unpoint, map.getZoom()+1);
             });
            GEvent.addListener(marker, "dragstart", function() {
              map.closeInfoWindow();
            });
            GEvent.addListener(marker, "dragend", function() {
              window.clipboardData.setData('Text', marker.getPoint().lat()+'\t'+marker.getPoint().lng());
              marker.openInfoWindowHtml(marker.getPoint().lat()+'\t'+marker.getPoint().lng()+'<br>zoom : '+map.getZoom());
            });
         }
       }
     );
   }
}

window.onload = InitGoogleMap;
window.onunload = GUnload;
-->
</script>
</head>
<body>
<form action="#" name="formulaire" onsubmit="showAddress(this.address.value); return false;">
   <p>
   <input type="text" size="60" name="address" value="">
   <input type="submit" value="Go!">
   </p>
   <div id="google_map" style="width: 1400px; height: 650px;"></div>
</form>
</body>
</html>


Ca marche nickel et ça va me faire gagner beaucoup de temps.

Merci Forty !


forty
WRInaute passionné
WRInaute passionné
 
Messages: 1701
Inscription: 30 Oct 2008

Re: Récupérer automatiquement la latitude et la longitude d'une page Google Maps

Message le Ven Déc 04, 2009 22:45

il n'y a pas de quoi ;)

Récupérer automatiquement la latitude et la longitude d'une page Google Maps

Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Formation recommandée sur ce thème :

Formation Google Maps, Google News et Google Images : apprenez comment optimiser le référencement de votre site pour la recherche universelle et notamment Google Maps, Google Actualités et Google Images. Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité