google-maps - KML 图层未加载
问题描述
我正在尝试在 Google 地图上加载一个简单的 KML 图层。我无法使其适用于特定图层,同时其他类似的 KML 图层可以正常加载。这是代码的最小版本:https ://jsfiddle.net/eundas/0fhqmocv/4/为什么这不起作用?是我的代码还是 KML 的结构?我将不胜感激。
var map;
var options = {
zoom: 5,
center: new google.maps.LatLng(-33.5, -70),
mapTypeId: google.maps.MapTypeId.ROADMAP,
scaleControl: true
};
map = new google.maps.Map(document.getElementById("mapcanvas"), options);
var Coquimbo4204Layer = new google.maps.KmlLayer({
url: 'https://drive.google.com/uc?export=download&id=1bCBH784phTY_wK0WZiAbbDRlXb1dJsv7'
});
google.maps.event.addListener(Coquimbo4204Layer, 'status_changed', function() {
console.log(Coquimbo4204Layer.getStatus());
})
Coquimbo4204Layer.setMap(map);
解决方案
使用发布的代码,我得到FETCH_ERROR
,根据文档意味着:The document could not be fetched
。
如果 url 是http:
而不是https:
(这似乎是 Google Drive 的问题),它会起作用。
相关问题:
代码片段:
var map;
var options = {
zoom: 5,
center: new google.maps.LatLng(-33.5, -70),
mapTypeId: google.maps.MapTypeId.ROADMAP,
scaleControl: true
};
map = new google.maps.Map(document.getElementById("mapcanvas"), options);
var Coquimbo4204Layer = new google.maps.KmlLayer({
// url: 'https://drive.google.com/uc?export=download&id=1bCBH784phTY_wK0WZiAbbDRlXb1dJsv7'
url: 'http://drive.google.com/uc?export=download&id=1bCBH784phTY_wK0WZiAbbDRlXb1dJsv7'
});
google.maps.event.addListener(Coquimbo4204Layer, 'status_changed', function() {
console.log(Coquimbo4204Layer.getStatus());
})
Coquimbo4204Layer.setMap(map);
#mapcanvas {
height: 500px;
width: 500px;
background: blue;
margin: 0px;
padding: 0px;
}
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyCkUOdZ5y7hMm0yrcCQoCvLwzdM6M8s5qk"></script>
<div id="mapcanvas">CANVAS</div>
推荐阅读
- python - 熊猫:将单元格值与同一列中的单元格值进行比较?
- javascript - 如何使用滚动来修改 CSS 变换比例?
- typescript - 如何将类型定义与模块导入分开导入?
- reactjs - 如何在不提供模拟 Redux 存储的情况下测试将 Redux 连接的组件呈现为子组件的 React 组件?
- ios - 如何从单击的视图中心呈现模态视图?
- javascript - 为什么 Nuxt 不转译 vendor.app.js?
- r - 在 stringr 中使用 perl/regex 到上层 \U
- javascript - 如何突出显示替换文本的所有实例
- c# - 需要简单、强大的 c# 解决方案来动态解析和缩短 Uri 字符串
- d - 接口和模板函数