[英]Openlayers: feature.get returns the attributes path
我有一個帶點圖層的openlayers地圖,在單擊要素時會打開一個彈出窗口。 在彈出窗口中,我顯示了一個可單擊的鏈接,該鏈接應該指向存儲在圖層的屬性表中的URL。
但是,如果單擊該層,則會打開一個指向“ C:/ Users / user /.../ URL”之類的路徑的鏈接。 URL是我想要的,但瀏覽器還會打開保存項目的路徑。
我的代碼:
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>' + ' ' + feature.get('ERHEB_NR') +
'</br><b>2: </b>' + '   ' + '<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>'
替換為feature.get('KATASTER')
,則會顯示正確的鏈接(但因為它不在內部該語句不可點擊)。
如何使用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>' + ' ' + feature.get('ERHEB_NR') +
'</br><b>2: </b>' + '   ' + '<a id="link" target="_blank" href="'+feature.get('KATASTER')+'" rel="noopener noreferrer">Link</a>'
});
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.