Types MIME et header PHP pour fichiers KML et KMZ

KML KMZ exemples et tutoriels en Français

API Google Maps JavaScript version 3

Partager ce tutoriel sur les réseaux sociaux
Signaler une erreur dans cet article
Charlie Hebdo Le Canard enchaîné
Charlie Hebdo : Gagnez 500.000 €uros à ne rien faire avec le masque de Pénélope Fillon Le Canard enchainé :  Mais puisque je vous dis que Pénélope n'a rien fait !
Et maintenant la sextape Les enquêteurs n'ont trouvé aucun indice matériel du travail
de Penelope, mais la trace de ses indem' de licenciement

Signez la pétition : Mme Fillon, rendez-nous ces 1.500.000 euros

Google Earth et Google Maps sont capables de lire des fichiers KML et KMZ. Afin qu'ils puissent interpréter correctement vos fichiers KML ceux-ci doivent respecter un certain nombre de régles.

Un fichier KMZ est en fait un fichier KML compressé ou zippé, d'ou l'appelation (remplacement du L final par un Z). Il vous suffit donc de décompresser votre fichier KMZ pour découvrir son contenu au format KML.

Fihier KML

Le type MIME à utiliser pour un fichier KML est :

  application/vnd.google-earth.kml+xml

Avec PHP il faut utiliser le header suivant :

  header('Content-type: application/vnd.google-earth.kml+xml');

Pour Apache, ajoutez les lignes suivantes au fichier httpd.conf :

  AddType application/vnd.google-earth.kml+xml .kml

Fihier KMZ

Le type MIME à utiliser pour un fichier KMZ est :

  application/vnd.google-earth.kmz

Avec PHP il faut utiliser le header suivant :

  header('Content-type: application/vnd.google-earth.kmz');

Pour Apache, ajoutez les lignes suivantes au fichier httpd.conf :

  AddType application/vnd.google-earth.kmz .kmz

Déclaration et encodage

Le corps de la réponse doit contenir des données KML valides, y compris la déclaration XML :

  <?xml version="1.0" encoding="UTF-8"?>

Si le serveur retourne un fichier KML invalide, un message d'erreur sera affiché.

Attention à l'encodage de votre fichier KML.
Soyez cohérent entre l'encodage déclaré et l'encodage des données contenues dans votre fichier KML.

Exemple :

Vous déclarez, en entête un encodage au format UTF-8, et vos données sont au format ISO-8859-1. Résultat, les caractères accentués, par exemple, sont illisibles.

Certains navigateurs, comme Firefox, vont néanmoins "interpréter" correctement votre fichier KML et ainsi permettre l'affichage des données dans une carte Google Maps, alors que d'autres, beaucoup moins tolérants comme Internet Explorer, rejeteront votre fichier KML et aucune donnée ne s'affichera sur votre carte.

A lire :