Obtendo mapas para aceitar um arquivo KML gerado dinamicamente?
-
20-09-2019 - |
Pergunta
Eu tenho um botão que inicia o aplicativo Google Maps no meu dispositivo por meio de uma intenção. Quero poder passar em uma página de php que gera um arquivo KML.
Eu fiz isso em um site antes de usar a API do GoogleMaps no JS - mas ele não parece funcionar no Android.
Meu arquivo php é o seguinte;
<?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>';
?>
Lançando com:
final Intent myIntent = new Intent(android.content.Intent.ACTION_VIEW,
Uri.parse("geo:0,0?q=http://website.com/kml_gen.php"));
startActivity(myIntent);
Ele inicia mapas, encontra o arquivo - mas não o exibe 'porque contém erros'.
Isso simplesmente não é possível ou existem outras maneiras de construir a intenção que pode funcionar?
Solução
Tente definir o mimetype de acordo com a Spec: application/vnd.google-earth.kml+xml
Coloque isso na primeira linha
header('Content-type: application/vnd.google-earth.kml+xml');
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow