Extraction des Coordonnées GPS à partir d'une URL : Une Approche en JavaScript
![](/image/blogThumbc6Mc4aPnxE.png)
Lors de l'intégration de services de cartographie dans vos applications, vous pourriez avoir besoin d'extraire des coordonnées GPS à partir d'URLs pour divers usages comme la mise en place de marqueurs sur une carte ou le calcul de distances entre deux points. La fonction que nous allons détailler ici permet de réaliser cette extraction de manière simple et efficace.
La Fonction extractCoordinates
La fonction extractCoordinates
prend en paramètre une chaîne de caractères représentant une URL et retourne un objet contenant la latitude et la longitude. Si l'URL ne contient pas de coordonnées GPS, la fonction retourne un objet avec des valeurs par défaut de 0.0 pour la latitude et la longitude.
/**
*
* @param {String} url
* @returns
*/
function extractCoordinates(url) {
const regex = /@(-?\d+\.\d+),(-?\d+\.\d+)/;
const match = url.match(regex);
if (match) {
const lat = parseFloat(match[1]);
const lng = parseFloat(match[2]);
return { lat: lat, lng: lng };
}
return { lat: 0.0, lng: 0.0 };
}
Explication du Code
- Déclaration de la Fonction : La fonction
extractCoordinates
est déclarée avec un paramètreurl
de typeString
. - Définition de l'Expression Régulière : Une expression régulière est utilisée pour identifier les coordonnées GPS dans l'URL. L'expression
@(-?\d+\.\d+),(-?\d+\.\d+)
recherche un symbole@
suivi par une latitude et une longitude. La latitude et la longitude peuvent être des nombres négatifs (indiqués par-?
), suivis de chiffres, d'un point décimal, et de plus de chiffres. - Recherche de Correspondance : La méthode
match
est utilisée pour rechercher la correspondance de l'expression régulière dans l'URL. Si une correspondance est trouvée, elle est stockée dans la variablematch
. - Extraction et Conversion des Coordonnées : Si
match
contient une valeur (indiquant que la correspondance a été trouvée), les coordonnées sont extraites et converties en nombres flottants à l'aide deparseFloat
. Un objet avec les propriétéslat
etlng
est retourné. - Valeurs par Défaut : Si aucune correspondance n'est trouvée, la fonction retourne un objet avec des valeurs par défaut de
lat: 0.0
etlng: 0.0
.
Exemple d'Utilisation
Voici un exemple d'utilisation de la fonction extractCoordinates
:
const url = "https://www.google.com/maps/@48.8588443,2.2943506,15z";
const coordinates = extractCoordinates(url);
console.log(coordinates); // { lat: 48.8588443, lng: 2.2943506 }