2010-03-18 14 views
1

J'ai un bouton qui lance l'application Google Maps sur mon appareil via une intention. Je veux être en mesure de passer une page php qui génère un fichier KML.Obtenir des cartes pour accepter un fichier KML généré dynamiquement?

Je l'ai fait sur un site Web avant d'utiliser l'API googlemaps dans JS - mais il ne semble pas fonctionner sur Android.

Mon fichier php est le suivant;

<?php 
    echo '<kml xmlns="http://www.google.com/earth/kml/2">'; 
    echo '<Placemark>'; 
    echo '<name>Google Inc.</name>'; 
    echo '<description>1600 Amphitheatre Parkway, Mountain View, CA 94043</description>'; 
    echo '<Point>'; 
    echo '<coordinates>-122.0841430, 37.4219720, 0</coordinates>'; 
    echo '</Point>'; 
    echo '</Placemark>'; 
    echo '</kml>'; 
?> 

Lancement avec:

final Intent myIntent = new Intent(android.content.Intent.ACTION_VIEW, 
Uri.parse("geo:0,0?q=http://website.com/kml_gen.php")); 
startActivity(myIntent); 

Il lance des cartes, trouve le fichier - mais ne l'affiche pas "car elle contient des erreurs. Est-ce tout simplement impossible ou existe-t-il d'autres façons de construire l'intention qui pourrait fonctionner?

+0

Avez-vous Validé le kml émis? http://googlemapsapi.blogspot.com/2007/06/validate-your-kml-online-or-offline.html –

Répondre

8

Essayez de régler les mimetype selon les spécifications: application/vnd.google-earth.kml+xml

Mettre cela sur la première ligne

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

c'est fait. Parfait. Merci. Je soupçonnais que c'était lié à des mimetypes, mais je ne savais pas comment les changer dans ce cas. – Mark

+0

cela fonctionne toujours? Im essayant et pas de succès :( – Ricardo