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é.
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 :