OL3覆盖不显示 - appendChild错误

时间:2017-09-12 11:00:56

标签: javascript overlay openlayers-3

我有一个显示地图叠加层的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);
});

0 个答案:

没有答案