как заставить карты принимать динамически сгенерированный файл KML?

StackOverflow https://stackoverflow.com/questions/2470948

Вопрос

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

Я сделал это на веб-сайте перед использованием googlemaps api в 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);

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

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

Это было полезно?

Решение

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

Поместите это в первую строку

header('Content-type: application/vnd.google-earth.kml+xml');
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top