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

发布于 2024-10-29 00:28:04 字数 199 浏览 3 评论 0原文

我们正在将一些 KML 文件叠加到浏览器中显示的 Google 地图上。 KML 文件显示在普通 Google 地图上时可以按预期工作。但是,当在浏览器中显示的谷歌地图中显示时,KML 文件不会按预期显示。 KML 文件是通过使用在线转换器工具转换 Shape 文件来生成的。

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

需要帮助解决问题。

We are in the process of overlaying some KML files on Google Map displayed in Browser. The KML files when displayed on the normal Google Maps works as expected. But, when displayed in the google Map displayed in the browser the KML files are not getting displayed as expected. The KML files are generated by converting the Shape files using an online converter tool.

We used the original shape files and retrieved county information from US Census Bureau Site.

Need Help in resolving the issue.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

权谋诡计 2024-11-05 00:28:04

如果您提供了正在使用的代码或 .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> 

It would be helpful if you've provided the code that you're using, or the .kml file, so I can see where it goes wrong.

Anyway, you can add a kml to your map like this:

<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> 
无声无音无过去 2024-11-05 00:28:04

您如何创建 KmlLayer?

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

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

如 Google 地图 v3 API 参考中所示:

KmlLayer 将地理标记从托管在可公开访问的 Web 服务器上的 KML、KMZ 或 GeoRSS 文件添加到地图中。

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

How are you creating your KmlLayer?

The URL passed into the constructor of the KmlLayer must be a publicly accessible one so that Google's server can retrieve the KML/KMZ then render it on the tile which it returns to you.

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

As seen in Google Maps v3 API Reference:

A KmlLayer adds geographic markup to the map from a KML, KMZ or GeoRSS file that is hosted on a publicly accessible web server.

Keep in mind there are also limits imposed on the KML and KMZ files. Information on this can be found here: http://code.google.com/apis/kml/documentation/mapsSupport.html

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文