Openlayers:feature.get返回属性路径

时间:2019-03-06 12:39:27

标签: javascript openlayers

我有一个带点图层的openlayers地图,单击某个要素会打开一个弹出窗口。在弹出窗口中,我显示了一个可单击的链接,该链接应该指向存储在图层的属性表中的URL。

但是,如果我单击该层,则会打开一个指向“ C:/ Users / user /.../ URL”之类的路径的链接。该URL是我想要的,但是浏览器还会打开保存项目的路径。

我的代码:

set.seed()

如果我用map.on('click', function(event) { var feature = map.forEachFeatureAtPixel(event.pixel, function(feature, layer) { if (layer === knoten) { return feature; } }); if (feature != null) { var pixel = event.pixel; var coord = map.getCoordinateFromPixel(pixel); popup.setPosition(coord); $(elementPopup).attr('data-content', '<b>1: </b>' + '&ensp;' + feature.get('ERHEB_NR') + '</br><b>2: </b>' + '&emsp;&emsp;&nbsp;&nbsp;' + '<a id="link" target="_blank" rel="noopener noreferrer">Link</a>'); $(elementPopup).popover({'placement': 'top', 'html': true}); $(elementPopup).popover('show'); document.getElementById('link').href = feature.get('KATASTER') } else { $(elementPopup).popover({'html': true}); $(elementPopup).popover('hide'); } }); 代替'<a id="link" target="_blank" rel="noopener noreferrer">Link</a>',则会显示正确的链接(但由于它不在语句内,因此无法单击)。

1 个答案:

答案 0 :(得分:0)

如何使用content选项初始化popever,而不是仅更新链接?

map.on('click', function(event) {
    var feature = map.forEachFeatureAtPixel(event.pixel, function(feature, layer) {
        if (layer === knoten) {
            return feature;
        }
    });
    // Always hide the popover
    $(elementPopup).popover('hide');
    if (feature != null) {
        var pixel = event.pixel;
        var coord = map.getCoordinateFromPixel(pixel);
        popup.setPosition(coord);

        $(elementPopup).popover({
           placement: 'top',
           animation: false,
           html: true,
           trigger: 'focus',
           title: "",
           content: '<b>1: </b>' + '&ensp;' + feature.get('ERHEB_NR') +
    '</br><b>2: </b>' + '&emsp;&emsp;&nbsp;&nbsp;' + '<a id="link" target="_blank" href="'+feature.get('KATASTER')+'" rel="noopener noreferrer">Link</a>'
        });
});