Comment savoir si une photo contient des EXIF GPS en JavaScript ?

Réponses rédigées par Antoine
Dernière mise à jour : 2021-12-01 12:14:47
Thèmes : javascript - exif - gps
Question

Comment faire pour savoir si une photo contient des métadonnées GPS, c'est à dire des EXIF latitude et longitude, en JavaScript ?

Réponse

Pour savoir si une photo contient des EXIF GPS, en JavaScript, vous pouvez utiliser la librairie exifr.

Dns l'exemple ci--dessous on teste la présente des métadonnées de géolocalisation, c'est à dire les EXIF gps.latitude et gps.longitude.

La librairie permet par ailleurs de vérifier d'autres élément EXIF tels que l'orientation, la rotation, ou encore présence de miniatures.

<!DOCTYPE html> 
<html> 
<head>
<meta charset="UTF-8">
<title>Comment savoir si une photo contient des EXIF GPS en JavaScript ?</title>
</head>
<body>
<img src="./scripts/exif/exemple.jpg" id="photo" alt="">
<script src="https://cdn.jsdelivr.net/npm/exifr@7.1.3/dist/full.umd.min.js"></script>
<script>
var fichier = "./scripts/exif/exemple.jpg";
if(fichier != undefined) {
exifr.gps(fichier).then(gps => {
if((JSON.stringify(gps)) && (JSON.stringify(gps))) {
let lat = gps.latitude;
let lng = gps.longitude;
alert("La photo contient des données GPS : " + lat + " - " + lng);
}
else
alert('La photo ne contient pas de métadonnées GPS');
})
}
</script>
</body>
</html>

Vous trouverez une démo sur le Bac à codes.