Comment calculez-vous la distance entre deux marqueurs dans Google maps V3? (Similaire à la distanceFrom
fonction inV2.)
Merci..
javascript
google-maps-api-3
Waheed
la source
la source
Réponses:
Si vous souhaitez le calculer vous-même, vous pouvez utiliser la formule Haversine:
la source
p1.lat()
etp1.lng()
supposent que vos données d'entrée sont desgoogle.maps.LatLng
objets. Si vous n'avez que des données brutes comme celles-ci,{lat: __, lon: __}
vous les utiliserez à la placep1.lat
, par exemple.Il semble en fait y avoir une méthode dans GMap3. C'est une méthode statique de l'
google.maps.geometry.spherical
espace de noms.Il prend comme arguments deux
LatLng
objets et utilisera un rayon terrestre par défaut de 6378137 mètres, bien que le rayon par défaut puisse être remplacé avec une valeur personnalisée si nécessaire.Assurez-vous d'inclure:
dans votre tête.
L'appel sera:
la source
Exemple utilisant la latitude / longitude GPS de 2 points.
la source
Ajoutez simplement ceci au début de votre code JavaScript:
puis utilisez la fonction comme ceci:
la source
la source
script
balise et appeler ces méthodes. Comme réagir natif.Voici l'implémentation c # de ce forumula
la source
Avec google, vous pouvez le faire en utilisant l' api sphérique ,
google.maps.geometry.spherical.computeDistanceBetween (latLngA, latLngB);
.Cependant, si la précision d'une projection sphérique ou d'une solution haversine n'est pas assez précise pour vous (par exemple, si vous êtes près du pôle ou si vous calculez de plus longues distances), vous devez utiliser une bibliothèque différente.
La plupart des informations sur le sujet que j'ai trouvées sur Wikipedia ici .
Une astuce pour voir si la précision d'un algorithme donné est adéquate consiste à remplir le rayon maximum et minimum de la terre et à voir si la différence pourrait causer des problèmes pour votre cas d'utilisation. Beaucoup plus de détails peuvent être trouvés dans cet article
En fin de compte, l'API Google ou haversine servira la plupart des objectifs sans problème.
la source
En utilisant PHP, vous pouvez calculer la distance en utilisant cette fonction simple:
la source
K
cela vous donnera la distance en km. Vérifie ça.SOLUTION HORS LIGNE - Algorithme Haversine
Référence: https://en.wikipedia.org/wiki/Great-circle_distance
la source
Je devais le faire ... La manière du script d'action
la source
Dans mon cas, il était préférable de calculer cela dans SQL Server, car je voulais prendre l'emplacement actuel, puis rechercher tous les codes postaux à une certaine distance de l'emplacement actuel. J'avais aussi une base de données qui contenait une liste de codes postaux et leurs lat longs. À votre santé
la source
la source
C'est assez simple à utiliser Google Distance Matrix
La première étape consiste à activer le service Distance Matrix à partir de la console API Google. il renvoie des distances entre un ensemble d'emplacements. Et appliquez cette fonction simple
Où origin1 est votre emplacement et destinationA est l'emplacement de destination.vous pouvez ajouter au-dessus de deux données ou plus.
Rad Documentation complète avec un exemple
la source
J'ai trouvé une version en ligne qui est correcte à 80% mais branchée sur le mauvais paramètre et qui n'est pas cohérente dans l'utilisation des entrées, cette version a corrigé cela complètement
la source
Pour calculer la distance sur Google Maps, vous pouvez utiliser l'API Directions. Ce sera l'un des moyens les plus simples de le faire. Pour obtenir des données de Google Server, vous pouvez utiliser Retrofit ou Volley. Les deux ont leur propre avantage. Jetez un œil au code suivant où j'ai utilisé la modification pour l'implémenter:
Ci-dessus, le code de la fonction build_retrofit_and_get_response pour calculer la distance. Ci-dessous, l'interface de mise à niveau correspondante:
}
J'espère que cela explique votre requête. Bonne chance :)
Source: Calculateur de distance Google Maps
la source