2012-05-24 38 views
1

我下載了一個KML文件,並試圖將其加載到我的項目中,該項目使用Google maps API。將KML文件加載到Google地圖中API

當我加載此KML時,我看不到任何結果。其他KML文件正常工作。

<!DOCTYPE html> 
<html> 
<head> 
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> 
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/> 
<title>Google Maps JavaScript API v3 Example: KmlLayer KML</title> 
<link href="/maps/documentation/javascript/examples/default.css" rel="stylesheet"  type="text/css" /> 
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?  sensor=false"></script> 
<script type="text/javascript" src="http://geoxml3.googlecode.com/svn/branches/polys/geoxml3.js"></script> 
<style type="text/css"> 
    html { height: 100% } 
    body { height: 100%; margin: 0; padding: 0 } 
    #map_canvas { height: 100% } 
</style> 

<script type="text/javascript"> 
function initialize() { 
var chicago = new google.maps.LatLng(41.875696,-87.624207); 
var myOptions = { 
zoom: 2, 
center: chicago, 
mapTypeId: google.maps.MapTypeId.ROADMAP } 
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); 
    var geoXml = new geoXML3.parser({map: map, singleInfoWindow: true}); 
    geoXml.parse('doc2.kml'); } 
</script> 
</head> 
<body onload="initialize()"> 
<div id="map_canvas"></div> 
</body> 
</html> 

這是KML文件。我認爲它們與我發現的其他KML文件看起來不同。

<?xml version="1.0" encoding="UTF-8"?> 
    <kml xmlns="http://earth.google.com/kml/2.0"> 
    <Document> 
    <name>Continents.kmz</name> 
    <Style id="khStyle646"> 
    <LineStyle id="khLineStyle649"> 
    <antialias>0</antialias> 
    </LineStyle> 
    <PolyStyle id="khPolyStyle648"> 
     <fill>0</fill> 
     <outline>0</outline> 
    </PolyStyle> 
    <IconStyle id="khIconStyle650"> 
     <Icon> 
     <href>root://icons/palette-3.png</href> 
     <x>160</x> 
     <y>128</y> 
     <w>32</w> 
     <h>32</h> 
     </Icon> 
    </IconStyle> 
    </Style> 
    <Style id="khStyle653"> 
    <LineStyle id="khLineStyle656"> 
     <antialias>0</antialias> 
    </LineStyle> 
    <PolyStyle id="khPolyStyle655"> 
     <fill>0</fill> 
     <outline>0</outline> 
    </PolyStyle> 
    <IconStyle id="khIconStyle657"> 
     <Icon> 
     <href>root://icons/palette-3.png</href> 
     <x>96</x> 
     <y>160</y> 
     <w>32</w> 
     <h>32</h> 
     </Icon> 
    </IconStyle> 
    </Style> 
    <Folder> 
    <description>All information from www.wikipedia.org</description> 
    <name>Continents</name> 
    <Placemark> 
     <LookAt> 
     <longitude>69.34975938772639</longitude> 
     <latitude>-85.51850370658478</latitude> 
     <range>4660494.527334587</range> 
     <tilt>1.489515791197339</tilt> 
     <heading>-94.23630609027376</heading> 
     </LookAt> 
     <styleUrl>#khStyle653</styleUrl> 
     <Point> 
     <coordinates>80.29122647597791,-85.36965069939549,0</coordinates> 
     </Point> 
    </Placemark> 
    <Placemark> 
     <name>North America</name> 
     <LookAt> 
     <longitude>-92.38030591736974</longitude> 
     <latitude>41.60040029662515</latitude> 
     <range>6572383.886462871</range> 
     <tilt>1.489515791197389</tilt> 
     <heading>5.091613582461503</heading> 
     </LookAt> 
     <styleUrl>#khStyle653</styleUrl> 
     <Point> 
     <coordinates>-98.11233984563178,45.32023029701742,0</coordinates> 
     </Point> 
    </Placemark> 
    <Placemark> 
      <name>South America</name> 
     <LookAt> 
     <longitude>-62.99013711154147</longitude> 
     <latitude>-21.48589474193573</latitude> 
     <range>7218561.25099345</range> 
     <tilt>1.489515791197348</tilt> 
     <heading>14.48258802805428</heading> 
     </LookAt> 
     <styleUrl>#khStyle653</styleUrl> 
     <Point> 
     <coordinates>-58.60850163074399,-15.26868557309036,0</coordinates> 
     </Point> 
    </Placemark> 
    <Placemark> 
     <description>The primary use of the term Oceania is to describe a continental region (like Europe or Africa) that lies between Asia and the Americas, with Australia as the major land mass. The name Oceania is used, rather than Australia, because unlike the other continental groupings, it is the ocean rather than the continent that links the nations together. Oceania is the smallest continental grouping in land area and the second smallest, after Antarctica, in population.</description> 
     <name>Australasia/Oceania</name> 
     <LookAt> 
     <longitude>149.9280610479762</longitude> 
     <latitude>-19.96203640214011</latitude> 
     <range>5948094.214726813</range> 
     <tilt>1.489515791197347</tilt> 
     <heading>-3.233441994279863</heading> 
     </LookAt> 
     <styleUrl>#khStyle653</styleUrl> 
     <Point> 
     <coordinates>153.0281098590235,-19.81023956617555,0</coordinates> 
     </Point> 
    </Placemark> 
    <Placemark> 
     <name>Europe</name> 
     <LookAt> 
     <longitude>13.36662252078061</longitude> 
     <latitude>47.49923408453745</latitude> 
     <range>2926553.150350343</range> 
     <tilt>1.489515791197361</tilt> 
     <heading>5.315432286214211</heading> 
     </LookAt> 
     <styleUrl>#khStyle653</styleUrl> 
     <Point> 
     <coordinates>7.703642655915047,48.19165017141015,0</coordinates> 
     </Point> 
    </Placemark> 
    <Placemark> 
     <name>Asia</name> 
     <LookAt> 
     <longitude>88.44296071080763</longitude> 
     <latitude>29.02076366275569</latitude> 
     <range>5948094.214726811</range> 
     <tilt>1.489515791197341</tilt> 
     <heading>4.339173834203948</heading> 
     </LookAt> 
     <styleUrl>#khStyle653</styleUrl> 
     <Point> 
     <coordinates>88.87769612972068,35.90237786706015,0</coordinates> 
     </Point> 
    </Placemark> 
    <Placemark> 
     <name>Africa</name> 
     <LookAt> 
     <longitude>20.16987332895207</longitude> 
     <latitude>1.368208952904757</latitude> 
     <range>8150113.588222869</range> 
     <tilt>1.489515791197357</tilt> 
     <heading>-4.536422889821256</heading> 
     </LookAt> 
     <styleUrl>#khStyle646</styleUrl> 
     <Style> 
     <IconStyle> 
      <Icon> 
      <href>root://icons/palette-3.png</href> 
      <x>96</x> 
      <y>160</y> 
      <w>32</w> 
      <h>32</h> 
      </Icon> 
     </IconStyle> 
     </Style> 
     <Point> 
     <coordinates>21.06451559663505,6.103658771972451,0</coordinates> 
     </Point> 
    </Placemark> 
    </Folder> 
</Document> 
</kml> 

我認爲該文件與Google地球相關。可以將它轉換爲Google地圖KML嗎?你能告訴我爲什麼它不起作用嗎?

問候,

貝納

回答

2

所以你KML文件相當遠過時。看看命名空間,它是一個KML 2.0文件,它從來都不是一個編纂的規範。 KML 2.1是最早版本,KML 2.2是最新版本。所以有很多元素是不受支持的,比如antialias和x,y等等。另外一些元素不合適。您可以嘗試根據模式驗證它:http://schemas.opengis.net/kml/2.2.0/ogckml22.xsd

這會讓您知道哪些元素不受支持,哪些元素不符合規則。你可以使用一個驗證器,如Oxygen,它有一個免費的試用版。

此外,您正在使用geoxml3這是一個開源項目,而不是使用KMLLayer,它是Google的地圖KML渲染器。所以你也可以向geoxml3的人尋求幫助。

1

也許這個鏈接可以幫助你,有的在KML元素不支持:

https://developers.google.com/kml/documentation/kmlelementsinmaps

+0

我可以使用任何工具將此文件更改爲KML嗎? – user1365697

+0

我發現這個文件與Google地球相關我是否也可以將它用於Google地圖API? http://serc.carleton.edu/sp/library/google_earth/kml_examples_from_google.html – user1365697

+0

工具:http://download.cnet.com/Google-Earth-KMZ-or-KML-to-GPS-Converter/3000- 12940_4-10619131.html – lfergon

相關問題