Google 地图 KML 图层未显示
Google Maps KML Layer not showing
我有以下 HTML:
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="initial-scale=1.0">
<meta charset="utf-8">
<title>KML Layers</title>
<style>
#map {
height: 90%;
}
html, body {
height: 100%;
margin: 0;
padding: 0;
}
</style>
</head>
<body>
<div id="map"></div>
<script>
function initMap() {
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 11,
center: {lat: 41.876, lng: -87.624}
});
var ctaLayer = new google.maps.KmlLayer({
url: 'http://ec2-54-198-148-171.compute-1.amazonaws.com/webapp/public/kmlfiles/LargeCoordinates.kml',
map: map
});
}
</script>
<script async defer
src="https://maps.googleapis.com/maps/api/js?key=AIzaSyBMtoh9P3UkoxbXndKu_HOP7KsVwTRvxGU&callback=initMap">
</script>
</body>
</html>
此处显示的 KML - http://ec2-54-198-148-171.compute-1.amazonaws.com/webapp/public/kmlfiles/LargeCoordinates.kml 未显示在地图上。
我的所有其他 KML 文件都可以正常工作,只是这个不行。我相信这是因为 KML 文件中有很多坐标。
任何修复它的帮助将不胜感激。
在您的第 5 个 placemark/polygon(大的)中,带有 geometry/coordinates 的行似乎被截断了。第一条线索是行尾似乎缺少标签。它仅以 </MultiGeometry>
标记结束,当它需要以:</coordinates></LinearRing></outerBoundaryIs></Polygon></MultiGeometry>
结束时。
仔细观察最后一组坐标,它们似乎被截断了,在第二个数字的小数点后结束:-96.697594,46.
因此您至少需要添加适当的标签来关闭该行,并可能修复最后一个坐标对(或只是将其删除)。这应该会给你一个有效的 KML 文件,它应该加载(只要几何图形对于地图来说不是太大)。您还需要检查源数据以查看该行是否缺少其他坐标,如果是,请找出如何找回它们。
为了帮助遇到类似问题的其他人,您知道 KML 是如何生成的吗?用什么软件?也许只能处理坐标字符串中这么多字符的东西?
我有以下 HTML:
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="initial-scale=1.0">
<meta charset="utf-8">
<title>KML Layers</title>
<style>
#map {
height: 90%;
}
html, body {
height: 100%;
margin: 0;
padding: 0;
}
</style>
</head>
<body>
<div id="map"></div>
<script>
function initMap() {
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 11,
center: {lat: 41.876, lng: -87.624}
});
var ctaLayer = new google.maps.KmlLayer({
url: 'http://ec2-54-198-148-171.compute-1.amazonaws.com/webapp/public/kmlfiles/LargeCoordinates.kml',
map: map
});
}
</script>
<script async defer
src="https://maps.googleapis.com/maps/api/js?key=AIzaSyBMtoh9P3UkoxbXndKu_HOP7KsVwTRvxGU&callback=initMap">
</script>
</body>
</html>
此处显示的 KML - http://ec2-54-198-148-171.compute-1.amazonaws.com/webapp/public/kmlfiles/LargeCoordinates.kml 未显示在地图上。
我的所有其他 KML 文件都可以正常工作,只是这个不行。我相信这是因为 KML 文件中有很多坐标。
任何修复它的帮助将不胜感激。
在您的第 5 个 placemark/polygon(大的)中,带有 geometry/coordinates 的行似乎被截断了。第一条线索是行尾似乎缺少标签。它仅以 </MultiGeometry>
标记结束,当它需要以:</coordinates></LinearRing></outerBoundaryIs></Polygon></MultiGeometry>
结束时。
仔细观察最后一组坐标,它们似乎被截断了,在第二个数字的小数点后结束:-96.697594,46.
因此您至少需要添加适当的标签来关闭该行,并可能修复最后一个坐标对(或只是将其删除)。这应该会给你一个有效的 KML 文件,它应该加载(只要几何图形对于地图来说不是太大)。您还需要检查源数据以查看该行是否缺少其他坐标,如果是,请找出如何找回它们。
为了帮助遇到类似问题的其他人,您知道 KML 是如何生成的吗?用什么软件?也许只能处理坐标字符串中这么多字符的东西?