2010-03-18 7 views
1

У меня есть кнопка, которая запускает приложение Google Maps на моем устройстве с намерением. Я хочу иметь возможность передать ему страницу php, которая создает файл KML.Получение карт для приема динамически генерируемого KML-файла?

Я сделал это на веб-сайте, прежде чем использовать api в googlemaps в JS, но он, похоже, не работает на Android.

Мой php-файл выглядит следующим образом:

<?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>'; 
?> 

Запуск с:

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

Он запускает карты, находит файл - но не будет отображать его ", потому что он содержит ошибки.

Возможно ли это, или есть другие способы построить намерение, которое может сработать?

+0

Вы заверило KML выводимый? http://googlemapsapi.blogspot.com/2007/06/validate-your-kml-online-or-offline.html –

ответ

8

Попробуйте установить MimeType в соответствии со спецификацией: application/vnd.google-earth.kml+xml

Поместите это на первой линии

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

, что и было сделано. Отлично. Благодарю. Я подозревал, что это связано с миметиками, но не знал, как их изменить в этом случае. – Mark

+0

все еще работает? Я пытаюсь и не добился успеха :( – Ricardo