获取类型将图层添加到地图后出错
Getting typeError after adding layer to map
我出现这种类型的错误:"无法读取 null 的属性'closure_uid_521373967'"。
这发生在我制作尚未包含任何功能的源代码之后。
var vectorSource = new ol.source.Vector({
});
之后我做了一个图层
var vectorLayer = new ol.layer.Vector({
source: vectorSource
});
然后我初始化地图:
var map = new ol.Map({
layers: [new ol.layer.Tile({ source: new ol.source.OSM({url:"http://tile.openstreetmap.org/{z}/{x}/{y}.png"}) }), vectorLayer],
target: document.getElementById('map'),
view: new ol.View({
center: [0, 0],
zoom: 3
})
});
当它像这里一样简单时,它似乎在我的家中工作正常,但是当我尝试让它在我的工作中工作时,斯卡纳里奥有点复杂,我缺少我之前提到的那种类型的错误。
请查看此片段。
- 最好将
图层定义与映射实例化分开。后者使事情变得非常方便,但它使调试变得困难。
考虑到这一点,我定义了一个OSM层和矢量层,并将两者添加到地图中。
您不需要使用 getElementById。您只需提供div 的 id 作为映射的目标即可。
我无法复制您的类型错误。不过,我的怀疑是它来自不必要的getElementById的添加。
您可以发布指向不起作用的代码的链接吗?
// layers
var vectorSource = new ol.source.Vector({
});
var vectorLayer = new ol.layer.Vector({
source: new ol.source.Vector({
url: vectorSource,
})
});
var osmLayer = new ol.layer.Tile({
source: new ol.source.OSM()
});
var map = new ol.Map({
layers: [osmLayer, vectorLayer],
target: 'map',
view: new ol.View({
center: [0, 0],
zoom: 3
})
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/ol3/3.6.0/ol.js"></script>
<body>
<div id='map'>
</div>
</body>
相关文章:
- javascript中的数组出错
- 谷歌地图固定位置覆盖
- 节点Js:How to catch a“;没有这样的文件或目录“;读取线模块出错
- 不显示带有本地json文件数据的谷歌地图脚本
- 谷歌地图不是以HTML显示,而是在JS Fiddle上工作
- 谷歌地图标记不会显示
- 地理定位api和谷歌地图出错
- 在nokia/ovi/here地图中计算路线时出错
- 获取类型将图层添加到地图后出错
- 谷歌地图嵌入api错误错误:[$interpole:nooncat]插值时出错
- 使用谷歌地图API进行地理编码时出错
- 在谷歌地图api中获得延迟和延迟点击事件时出错
- gMarker.键未定义,它是必需的!!angular和Google地图应用出错
- 调用谷歌地图api时出错;谷歌url缩短API在同一程序
- 谷歌地图v3 -缩放到标记时出错
- EmberJS:加载路由时出错:TypeError:无法读取属性'地图'为null
- &;谷歌没有定义&;在Chrome浏览器中调用谷歌地图api出错
- MissingKeyMapError:在本地主机上使用谷歌地图自动完成文本框时出错
- 高图表加载地图插件时出错
- 执行'write'& # 39;文档# 39;加载角度谷歌地图时出错