2010-03-18 39 views
1

我有一個按鈕,通過一個意圖啓動我的設備上的谷歌地圖應用程序。我希望能夠通過它生成一個KML文件的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); 

它推出的地圖,找到文件 - 但不會顯示出來 '因爲它包含錯誤'。

這是不可能的,還是有其他方法來構建可能工作的意圖?

+0

您是否驗證了KML輸出? http://googlemapsapi.blogspot.com/2007/06/validate-your-kml-online-or-offline.html – 2010-03-18 15:21:07

回答

8

嘗試設置MIME類型,按照規範:application/vnd.google-earth.kml+xml

將這個第一行

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

就是這樣做的。完善。謝謝。我懷疑它與mimetypes有關,但在這種情況下不知道如何改變它們。 – Mark 2010-03-18 15:33:41

+0

它仍在工作?我試着沒有成功:( – Ricardo 2014-04-01 21:49:18