![](/img/trans.png)
[英]How to remove style from individual feature of a Vector Layer in Open Layers?
[英]Remove or Delete feature in vector.layer
現在,我在刪除已經顯示在openlayers上的實體時遇到問題。 我有兩個來源KML,其中包含車輛的行駛路線。
kml1 10地標kml2 50地標
首先,使用加載需要顯示kml2並將其存儲在start.vectorfiltered變量中的工具后,加載頁面時,首先顯示存儲在start.vectorsource變量中的kml1。 這兩個變量的內容,所以如果存在的start.vectorfiltered在start.vectorsource元素( 功能 )相比,它消除了這個項目下面是代碼的摘錄:
start.vectorsource.getSource().forEachFeature(function (feature) {
if (typeof feature.getId() !== "undefined") {
if (feature.getId().indexOf(mobileName) !== -1) {
entity.push(feature.getId());
}
}
});
start.vectorfiltered.getSource().getFeatures().forEach(function (feature) {
if (typeof feature.getId() !== "undefined") {
for (var k = 0; k < entity.length; k++) {
if (feature.getId() === entity[k]) {
console.log(feature.getId() + " " + entity[k]);
start.vectorsource.getSource().removeFeature(feature);
}
}
}
interfaces.newFeature.push(feature);
});
我分析了一個start.vectorsource來檢索商品ID(feature.getId()),如果它包含車輛名稱(mobilename),我正在尋找該ID。 如果有,我將ID存儲在變量實體中
我分析了一個start.vectorfiltered,並與變量實體進行比較,如果它們相等,它將通過其ID刪除start.vectorsource中的功能。
這是錯誤信息:
TypeError: this.s[b] is undefined http://localhost:7299/js/ol3/ol.js Line 636
我認為問題出在您沒有實際的ID,因此feature.getId()
無法使用。
嘗試改用feature.get('id')
這可能是由於您的ID僅是功能的一個屬性
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.