2013-03-25 234 views
-1

我正在研究一個應用程序,我想要在Google地圖上顯示覆蓋的kml文件。這個kml文件由我想爲它們設置一個自定義圖標的標記組成。圖標存儲在我的電腦上。xml文件中的圖標標記

我的問題是我如何能夠從我的kml文件訪問這些圖標,以便在地圖上顯示它們。

以下是我試圖通過將圖標存儲在kkml文件的相同文件中,但它不起作用。

<?xml version="1.0" encoding="utf-8"?> 
<kml xmlns="http://www.opengis.net/kml/2.2"> 
    <Document> 
    <name>route</name> 
    <Placemark> 
     <name>445</name> 
     <description>Market</description> 
     <Style> 
      <IconStyle> 
       <Icon> 
       <href>0.png</href> 
       </Icon> 
      </IconStyle> 
     </Style> 
     <Point> 
     <coordinates>14.5139685555926,35.898079278121</coordinates> 
     </Point> 
    </Placemark> 
    </Document> 
</kml> 
+1

你有什麼問題?你的問題是什麼? – geocodezip 2013-03-25 13:30:15

+0

感謝您的回覆。我剛剛解決了這是一個問題從JavaScript我已經設置標記選項,而不是從kml文件。再次感謝:) – 2013-03-25 13:36:29

+0

一個快速的問題?我可以顯示本地圖標圖像作爲標記嗎?因爲我測試過的只是從網頁拍攝的圖像,但本地存儲的圖像不起作用。 @geocodezip – 2013-03-25 13:41:13

回答

2

你必須在相同的水平KML(同一web服務器上,例如在相同的文件夾)中存儲的圖標的選擇或子文件夾中,使得相對URL正確解析或嵌入內的KMZ文件,它基本上是一個帶有根KML文件的「ZIP」文件,以及KML中引用的任意數量的其他KML文件和內聯圖標或疊加層。

例1:如果你同時下載KML和圖像

<description> 
     <![CDATA[ 
     Here is an image: 
     <img src="images/googleearth.gif"/> 
     ]]> 
     </description> 

在某些平臺上的圖像不工作,但: http://kml-samples.googlecode.com/svn/trunk/kml/kmz/balloon/balloon-image-rel.kml

這裏的KML圖像相對的引用KML文件在本地,它將按照您所期望的內嵌圖像顯示。

例2:

http://kml-samples.googlecode.com/svn/trunk/kml/kmz/balloon/balloon-image-rel.kmz

在這個例子中圖像googleearth.gif存儲在KMZ文件在內的子文件夾的圖像,以便下載所述KMZ文件既包括KML和圖片。

您可以按照在Web服務器上的內容來佈置KMZ文件。

Google Maps documentation表示它支持KMZ(壓縮的KML,包括附加圖像)。

+0

因此無法從本地引用圖像。因爲我目前在本地主機上工作@ JasonM1 – 2013-03-25 20:42:00

+0

如果圖標與KML文件位於同一個文件夾中,那麼它可能會正確解析。取決於Maps API如何解析本地鏈接。如果打包爲KMZ,則圖標始終與KML文件位於同一位置。您可以使用絕對URL來開發圖像,以便讓應用程序能夠正常工作。 – JasonM1 2013-03-25 21:53:16