Formation par Olivier Duffez

Formation au référencement par Olivier Duffez, créateur de WebRankInfo !
Une formule efficace alliant théorie et pratique, avec une haute disponibilité des intervenants
Cette formule a déjà convaincu plusieurs centaines d'entreprises, pourquoi pas vous ?
Réservez vite votre place en ligne (convention possible pour imputer sur le budget formation)

Formation référencement Marseille

[Google Maps API] - Calculer une distance à vol d'oiseau

Poster un nouveau sujet Imprimer cette discussion    Forum -> Google : l'entreprise, les sites web, les services   Les dernières discussions de ce forum sont disponibles au format RSS
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
 
PigeonDeCombat
WRInaute occasionnel
WRInaute occasionnel

Inscrit le: 06 Aoû 2006
Messages: 206

URL permanente de ce messagePosté le : Sam Sep 02, 2006 10:31    Sujet du message: [Google Maps API] - Calculer une distance à vol d'oiseau

Bonjour,

Voici un petit Javascript qui vous permettra de calculer une distance entre deux GPoint(). Très utile quand on souhaite n'afficher que les markers dans un rayon de X km.

Code:

function LatLong(degLat, degLong) {
     this.lat = LatLong.llToRad(degLat);
     this.lon = LatLong.llToRad(degLong);
   }    
   
   LatLong.llToRad = function(brng) {
     if (!isNaN(brng)) return brng * Math.PI / 180; 
   
     brng = brng.replace(/[\s]*$/,'');               
     var dir = brng.slice(-1).toUpperCase();         
     if (!/[NSEW]/.test(dir)) return NaN;           
     brng = brng.slice(0,-1);                       
     var dms = brng.split(/[\s:,°º′\'″\"]/);         
     switch (dms.length) {                           
       case 3:                                       
         var deg = dms[0]/1 + dms[1]/60 + dms[2]/3600; break;
       case 2:                                       
         var deg = dms[0]/1 + dms[1]/60; break;
       case 1:                                       
         if (/[NS]/.test(dir)) brng = '0' + brng;   
         var deg = brng.slice(0,3)/1 + brng.slice(3,5)/60 + brng.slice(5)/3600; break;
       default: return NaN;
     }
     if (/[WS]/.test(dir)) deg = -deg;               
     return deg * Math.PI / 180;                     
   }
   
   LatLong.distHaversine = function(p1, p2) {
     var R = 6371;
     var dLat  = p2.lat - p1.lat;
     var dLong = p2.lon - p1.lon;

     var a = Math.sin(dLat/2) * Math.sin(dLat/2) +
             Math.cos(p1.lat) * Math.cos(p2.lat) * Math.sin(dLong/2) * Math.sin(dLong/2);
     var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
     var d = R * c;
   
     return d;
   }


Exemple :
Code:

  startPoint = new LatLong(lat, lng);
  endPoint = new LatLong(lat, lng);
  var dist = LatLong.distHaversine(startPoint, endPoint); // exprimé en Km.


Bonne continuation...
 
TOMHTML
WRInaute accro
WRInaute accro

Inscrit le: 25 Aoû 2004
Messages: 2995
Localisation: http://www.vrai-nom.com

URL permanente de ce messagePosté le : Sam Sep 02, 2006 11:05    Sujet du message: [Google Maps API] - Calculer une distance à vol d'oiseau

je teste pas mais je suppose que ça marche
donc je recommande
merci Wink
 
TOMHTML Visiter le site web du posteur
mowmow
WRInaute passionné
WRInaute passionné

Inscrit le: 03 Nov 2004
Messages: 962
Localisation: Zend Engine

URL permanente de ce messagePosté le : Sam Sep 02, 2006 15:10    Sujet du message: [Google Maps API] - Calculer une distance à vol d'oiseau

Je t'aurais bien proposé de poster dans ce sujet : http://www.webrankinfo.com/forums/viewtopic_58093.htm mais ca intéresse pas grand monde donc bon Very Happy

Merci quand même, je vais tester sur mon site Wink
 
mowmow Visiter le site web du posteur
PigeonDeCombat
WRInaute occasionnel
WRInaute occasionnel

Inscrit le: 06 Aoû 2006
Messages: 206

URL permanente de ce messagePosté le : Sam Sep 02, 2006 17:34    Sujet du message: [Google Maps API] - Calculer une distance à vol d'oiseau

mowmow a écrit:
Je t'aurais bien proposé de poster dans ce sujet : http://www.webrankinfo.com/forums/viewtopic_58093.htm mais ca intéresse pas grand monde donc bon Very Happy

Merci quand même, je vais tester sur mon site Wink



Bhé rajoute le dans ton topic de base ca peut pas faire de mal de tout rassembler
 
mowmow Visiter le site web du posteur
Mumuri
WRInaute accro
WRInaute accro

Inscrit le: 03 Nov 2004
Messages: 1733
Localisation: bordeaux

URL permanente de ce messagePosté le : Dim Sep 03, 2006 16:33    Sujet du message: [Google Maps API] - Calculer une distance à vol d'oiseau

en méme temps, c'est du javascript et non du php mowmow

merci pour le script
 
Mumuri
Zorian
Nouveau WRInaute

Inscrit le: 04 Jan 2008
Messages: 1
Localisation: Lannoy

URL permanente de ce messagePosté le : Ven Jan 04, 2008 11:06    Sujet du message: [Google Maps API] - Calculer une distance à vol d'oiseau

Alors ok ce script il déchire, ca marche nikel.

Par contre je suis dans l'obligation de le retranscrire en PHP pour une appli d'un client. Le seul truc qui me dérange c'est je ne comprend absolument la syntaxe ' /[NSEW]/.test(dir) '. Pareil pour ' /[NS]/.test(dir) ' et ' /[WS]/.test(dir) '.

C'est quoi de ce NSEW, les directions Nord Sud etc... si c'est le cas est ce que quelqu'un pourrait me filer un lien vers une explication de ca ou encore mieux l'equivalent en PHP.

Merci d'avance les geek Wink
 
Zorian
 
Montrer les messages depuis:   
Revenir en haut    Forum -> Google : l'entreprise, les sites web, les services Toutes les heures sont au format GMT + 2 Heures
Page 1 sur 1 - 
Connexion
Nom d'utilisateur:    Mot de passe:      Se connecter automatiquement à chaque visite    

Définitions :

CLIQUEZ ICI pour vous inscrire à WebRankInfo (forum, annuaire, outils...)

Connexion

© 2001-2005 phpBB Group, support français
Personnalisation : WebRankInfo ™


 ODP  Firefox  Alsacreations  annuaire webmaster Yagoort