1

我可以在 Google 地球上显示 KML。现在我想在地图上显示相同的内容。这怎么可能?这是我的 KML 附件...

<?xml version="1.0" encoding="UTF-8"?> <kml xmlns="http://www.opengis.net/kml/2.2">
  <Document>
    <name>Hide and show labels</name>
    <Style id="sn_hide">
      <IconStyle>
        <scale>0</scale>
      </IconStyle>
    </Style>

    <StyleMap id="msn_hide">
      <Pair>
        <key>normal</key>
        <styleUrl>#sn_hide</styleUrl>
      </Pair>      
    </StyleMap>
    <Placemark>
      <name>Placemark 1</name>
      <description>Label hidding</description>
      <styleUrl>#sn_hide</styleUrl>
      <Point>
        <coordinates>-119.232195,36.016021</coordinates>
      </Point>
    </Placemark>
    <Placemark>
      <name>Placemark 2</name>
      <description>Label hidding</description>
      <styleUrl>#sn_hide</styleUrl>
      <Point>
        <coordinates>-119.232195,36.0162</coordinates>
      </Point>
    </Placemark>

  </Document>
</kml>

提前谢谢..​</p>

4

1 回答 1

1

要在 Google 地图上显示 KML,它需要位于可公开访问的网络服务器上。

然后使用 Google Maps API v3 KmlLayerGoogle Maps

文档中的 Google Maps API v3 KmlLayer 示例

显示 KML 文件的代码:

    var chicago = new google.maps.LatLng(41.875696,-87.624207);
    var mapOptions = {
      zoom: 11,
      center: chicago,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    }

    var map = new google.maps.Map(document.getElementById('map_canvas'), mapOptions);

    var ctaLayer = new google.maps.KmlLayer('http://gmaps-samples.googlecode.com/svn/trunk/ggeoxml/cta.kml');
    ctaLayer.setMap(map);

是 Google 地图上显示的同一个 KML 文件。

更新:

http://www.geocodezip.com/geoxml3_test/Point_Placemarks.Descriptive_HTML_kml.xml">这是您使用 Google Maps API v3 geoxml3 第三方解析器显示的评论中文件的本地副本(KmlLayer 似乎认为它是无效的文档)

这是谷歌地图上显示的 KML

于 2012-11-15T05:57:36.383 回答