我正在使用GeoXML js。 v3谷歌地圖在本地解析kml文件。我不希望使用KmlLayer(),因爲它需要將kml放在可公開訪問的服務器上。 http://code.google.com/p/geoxml3/wiki/Usage本地渲染谷歌地圖上的kml文件?
最初我將kml文件作爲SQL Server數據庫中的一個字節數組。
我從數據庫中檢索字節數組並執行File.WriteAllBytes("c:\\KmlFiles\\layer" + id + ".kml", byte[])
,這將kml文件成功保存到路徑中。
現在我需要將kml文件傳遞到GeoXML分析器。我一直試圖通過目錄路徑的方法,像這樣,我有:
<script type="text/javascript">
var myMap = new google.maps.Map(...);
var myParser = new geoXML3.parser({map: myMap});
myParser.parse(path);
</script>
這是行不通的。看起來這不是傳遞kml文件的正確方法,因爲它不是一個url。我堅持我可以做什麼來使kml文件呈現。我有.Net MVC應用程序,其中嵌入了Google地圖,目前我在本地PC上運行應用程序,但尚未將其發佈到Web服務器上(使用iis 7)。
請給我一個如何去解析kml文件的想法。我將如何獲得kml文件的網址?我被困在如何繼續/使其工作。謝謝。
但是,KmlLayer(...)需要一個url,它應該指向存儲在公共服務器中的kml文件,而沒有任何安全性,以便Google的服務器可以解析它。我不需要先將文件保存到服務器? – Qwerty
如何將KML文件保存到MVC應用程序目錄,該目錄將被保護而不會存儲到客戶端的PC中...我寧願在本地呈現KML文件,而不願被任何人訪問。如何以這種方式使用GeoXML? – Qwerty
您可以在加載頁面之前登錄,這將確保您的[Authorize]屬性不需要其他登錄,但將確保只有登錄的用戶才能訪問它。我沒有使用GeoXML btw。 – Muthu