我一直在環顧四周,我能找到的所有答案都與使用谷歌地圖有關。我想要做的是獲取存儲在裏面的信息,將其「導入」到我的數據庫。如何使用PHP/JavaScript解析/處理服務器上的KMZ文件?
據我所知,KMZ文件是KML的zip文件(如xml)。
的KMZ,我想過程是這樣的(當本地解壓縮):
具有以下信息的KML文件(對於doc.kml):
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2" xmlns:kml="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2" xmlns:atom="http://www.w3.org/2005/Atom">
<Document>
<name>KmlFile</name>
<Placemark>
<description>
<![CDATA[<div style='border: 1px solid #aaa; font-size: 20px;'><span style='padding: 1em; display: inline-block;'><img src='files/tags_1470231.jpg' /></span></div>
<div style='background-color: #aaa; color: white; text-align: right; padding: 0.5em 0.5em 0 0;'>Posted: 2013/12/26</div>]]>
<![CDATA[<div style='border: 1px solid #aaa; font-size: 20px;'><span style='padding: 1em; display: inline-block;'>test
</span></div>
<div style='background-color: #aaa; color: white; text-align: right; padding: 0.5em 0.5em 0 0;'>Posted: 2013/12/26</div>]]>
<![CDATA[<div style='border: 1px solid #aaa; font-size: 20px;'><span style='padding: 1em; display: inline-block;'>cool pic</span></div>
<div style='background-color: #aaa; color: white; text-align: right; padding: 0.5em 0.5em 0 0;'>Posted: 2013/12/26</div>]]>
</description>
<visibility>0</visibility>
<Point>
<coordinates>135.753498,35.024914,0</coordinates>
</Point>
</Placemark>
<Placemark>
<description>
<![CDATA[<div style='border: 1px solid #aaa; font-size: 20px;'><span style='padding: 1em; display: inline-block;'><img src='files/tags_1470232.jpg' /></span></div>
<div style='background-color: #aaa; color: white; text-align: right; padding: 0.5em 0.5em 0 0;'>Posted: 2013/12/26</div>]]>
<![CDATA[<div style='border: 1px solid #aaa; font-size: 20px;'><span style='padding: 1em; display: inline-block;'>panda
</span></div>
<div style='background-color: #aaa; color: white; text-align: right; padding: 0.5em 0.5em 0 0;'>Posted: 2013/12/26</div>]]>
</description>
<visibility>0</visibility>
<Point>
<coordinates>135.753482,35.024868,0</coordinates>
</Point>
</Placemark>
</Document>
</kml>
而一個文件夾,名爲「文件「裏面有圖片。
理論上我想我必須在我的服務器上解壓縮這個文件,閱讀doc.kml文件,解析它以獲取每個元素的座標和圖片名稱,然後處理這些信息。
我遇到的問題是我不確定如何解壓縮此文件並在我的服務器中爲使用該網站的每個用戶處理它。
我是否應該在我的服務器中使用時間位置?如果幾個用戶同時進行文件覆蓋,會不會覆蓋文件?一旦它被刪除,我如何引用每個圖像?
我正在使用一個PHP站點,並計劃顯示每個圖像的預覽以及上傳的KMZ文件的座標。
任何幫助將不勝感激。
感謝您的回覆,是否有可能在客戶端做到這一點?就像在瀏覽器內存中解壓縮它並獲取對kml和zip文件中圖像的引用? – Pochi