我有一个显示地图叠加层的OL3应用程序,但我在版本3.20中找到它们不再显示。
我的控制台日志出现以下错误:
未捕获的TypeError:无法在'Node'上执行'appendChild':参数1不是'Node'类型。
以下是我使用的代码;当用户输入两个值并单击某个按钮时,它将检索这些值并将地图缩放到坐标,但它不会显示我的叠加层。我是否需要以某种方式更改此代码?
//Zoom map on coordinate zoom button click
$("#coord-zoom-btn").click(function() {
var x = parseInt(document.getElementById('coord-x').value);
var y = parseInt(document.getElementById('coord-y').value);
map.setView(new ol.View({
projection: ol.proj.get('EPSG:27700'),
resolutions: [28.0, 14.0, 7.0, 3.5, 1.75, 0.875, 0.4375, 0.21875, 0.109375],
center: [x, y],
resolution: 0.21875
}));
if (coordinateMarker && coordinateLabel != null) {
map.removeOverlay(coordinateMarker);
map.removeOverlay(coordinateLabel);
}
coordinateMarker = new ol.Overlay({
position: [x, y],
positioning: 'center-center',
element: $('<img src="img/marker/icon_coordinates.png" alt="Coordinate marker position">')
}),
coordinateLabel = new ol.Overlay({
position: [x, y],
positioning: 'center-center',
offset: [0, -20],
element: $('<h6>X: ' + x + ' Y: ' + y + '</h6>')
})
map.addOverlay(coordinateMarker);
map.addOverlay(coordinateLabel);
});