繁体   English   中英

Google Maps API V3 KML 图层不显示

[英]Google Maps API V3 KML layer does not show up

我在网上学习了许多教程,但没有成功尝试在我的网站上获得一个带有所需 KML 叠加层的谷歌地图窗口。 我的代码如下:

<!DOCTYPE html>
<html>
<head>
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false">
</script>

<script>
function initialize()
{
var mapOptions = {
    center: new google.maps.LatLng(38,-79.5),
    zoom:3,
    mapTypeId: google.maps.MapTypeId.TERRAIN
 }
var map=new google.maps.Map(document.getElementById("googleMap"),mapOptions);
var overlay = new google.maps.KmlLayer('https://doc-08-4g-       docs.googleusercontent.com/docs/securesc/ckoh7mm1pf9l58sknv61gkpp19v37j15/r3rh37mucb8nscl1r37disrlcom7i93t/1372536000000/00236509183910004089/00236509183910004089/0B-qVNYv_qM5vNy1ZbzJYVUgtTjA?h=16653014193614665626&e=download');

overlay.setMap(map);
}
</script>
</head>
<body>
<div id="googleMap"></div>
</body>
</html>

我不明白脚本 src 以及为什么需要它,但我在教程中找到了它,所以我将它包含在内。 到目前为止,我的 KMZ 而不是 KML 文件位于向公众开放的谷歌驱动器中,我已经使用了下载链接。 即使我使用来自 Internet 示例的 KML 文件,这也不起作用。我错过了什么吗? 请帮助!!

我看到有3个问题:

  1. 初始化函数永远不会被调用
  2. 地图没有大小
  3. KML 无效(返回状态 INVALID_DOCUMENT)

     <!DOCTYPE html> <html> <head> <script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"> </script> <script> function initialize() { var mapOptions = { center: new google.maps.LatLng(38,-79.5), zoom:3, mapTypeId: google.maps.MapTypeId.TERRAIN } var map=new google.maps.Map(document.getElementById("googleMap"),mapOptions); var overlay = new google.maps.KmlLayer('https://doc-08-4g-docs.googleusercontent.com/docs/securesc/ckoh7mm1pf9l58sknv61gkpp19v37j15/r3rh37mucb8nscl1r37disrlcom7i93t/1372536000000/00236509183910004089/00236509183910004089/0B-qVNYv_qM5vNy1ZbzJYVUgtTjA?h=16653014193614665626&e=download'); overlay.setMap(map); google.maps.event.addListener(overlay,'status_changed',function(){ document.getElementById('status').innerHTML = overlay.getStatus(); }); } google.maps.event.addDomListener(window,'load', initialize); </script> </head> <body> <div id="googleMap" style="height:500px;width:600px;"></div> <div id="status"></div> </body> </html>

google maps javascript API,KML 层,将 KML 大小限制为 10MB。 超过 10MB,您将在 kmllayer 对象上获得无效文档状态。

您的 KML 必须首先加载到 google KML 服务,然后将平铺图像返回给您。 因此,您的 KML 大小必须小于 10MB。

https://developers.google.com/maps/documentation/javascript/kmllayer#restrictions

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM