在浏览器中显示的谷歌地图上叠加KML文件时出现问题

时间:2011-03-31 08:44:56

标签: file kml

我们正在浏览器中显示的Google地图上覆盖一些KML文件。普通Google地图上显示的KML文件按预期工作。但是,当在浏览器中显示的谷歌地图中显示时,KML文件未按预期显示。通过使用在线转换器工具转换Shape文件生成KML文件。

我们使用原始形状文件并从美国人口普查局网站检索了县信息。

需要帮助来解决问题。

2 个答案:

答案 0 :(得分:1)

如果您提供了正在使用的代码或.kml文件,那将会很有帮助,因此我可以看到它出错的地方。

无论如何,您可以像这样添加kml到地图:

<html> 
<head> 
    <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script> 
    <script type="text/javascript"> 
        function initialize() {
          new google.maps.KmlLayer('http://api.flickr.com/services/feeds/geo/?g=322338@N20&lang=en-us&format=feed-georss').setMap(
            new google.maps.Map(document.getElementById("map_canvas"), {mapTypeId: google.maps.MapTypeId.ROADMAP})
          );
        }
    </script> 
</head> 

<body onload="initialize()"> 
  <div id="map_canvas" style="position:absolute;bottom:0;left:0;right:0;top:0"></div> 
</body> 
</html> 

答案 1 :(得分:0)

您是如何创建KmlLayer的?

传递给KmlLayer构造函数的URL必须是可公开访问的URL,以便Google的服务器可以检索KML / KMZ,然后在它返回给您的图块上呈现它。

var layer = new google.maps.KmlLayer('http://this/must/not/be/localhost/file.kmz');

如Google Maps v3 API参考中所示:

  

KmlLayer通过托管在可公开访问的Web服务器上的KML,KMZ或GeoRSS文件向地图添加地理标记。

请记住,对KML和KMZ文件也有限制。有关这方面的信息,请访问:http://code.google.com/apis/kml/documentation/mapsSupport.html