2011-03-31 46 views
0

我们正在浏览器中显示的Google Map上覆盖一些KML文件。正常Google Maps上显示的KML文件按预期工作。但是,当显示在浏览器中显示的Google地图中时,KML文件没有按预期显示。 KML文件是通过使用在线转换器工具转换Shape文件生成的。Google上覆盖KML文件时出现的问题在浏览器中显示的地图

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

需要帮助解决问题。

+0

您是否在Google地球中按预期工作?什么是“正常的Google地图”? – Tony 2011-04-05 20:55:36

+0

既然KML文件在Google地图上正确显示。有人可以协助在单个Google地图上叠加多个KML文件吗 – Jayasudha 2011-04-08 11:57:06

+0

您只需创建多个图层并将其地图属性设置为您的地图实例。您很可能为每个KML文件都有单独的URL,因此您只需使用这些URL来更改构造函数。请参阅我的答案下面的构造函数。 – Tony 2011-04-08 15:02:55

回答

1

如果您提供了您正在使用的代码或.kml文件,这将对您有所帮助,以便我可以看到它出错的位置。你是如何创建KmlLayer

<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/[email protected]&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> 
0

无论如何,你可以将KML添加到您的地图也是这样吗?

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

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

可以看出在谷歌地图API第3版参考:

一个KmlLayer从可公共访问的Web服务器上承载的KML,KMZ或GeoRSS文件添加地理标记到地图中。

请注意,对KML和KMZ文件也有限制。有关这方面的信息可以在这里找到:http://code.google.com/apis/kml/documentation/mapsSupport.html

相关问题