我遇到了一個(gè)問題,我的 LineString(s) 沒有顯示在地圖上,并且控制臺(tái)沒有發(fā)出任何錯(cuò)誤。我相信我的代碼是正確的,但在涉及 OpenLayers 時(shí)我并不那么聰明,我可能是錯(cuò)的。這就是我將矢量圖層添加到地圖的方式var vectorLayer = new ol.layer.Vector({ name: 'trailLayer', type: "Vector", source: new ol.source.Vector({ format: new ol.format.GeoJSON({ featureProjection:"EPSG:3857" }) }), zoomMin: 8, zoomMax: 18 }); this.map.addLayer(vectorLayer);這就是我添加新 LineString 的方法let layer;this.map.getLayers().forEach(function (value) { if ( value.get('name') === 'trailLayer') { layer = value; } });if(layer == null) { return; }let coords = [[latA, lonA], [latB, lonB]];let lineString = new ol.geom.LineString(coords);lineString.transform('EPSG:4326', 'EPSG:3857');var lineFeature = new ol.Feature({ name: callsign,});lineFeature.setGeometry(lineString);var lineStyle = new ol.style.Style({ stroke: new ol.style.Stroke({ width: trailWidth, color: trailColor })});lineFeature.setStyle(lineStyle);layer.getSource().addFeature(lineFeature);如果我嘗試使用source.GetFeatures()它會(huì)正確顯示我的所有功能,但我在地圖上看不到它們。我錯(cuò)過了什么嗎?PS 每個(gè)變量都被正確分配,沒什么奇怪的,也沒有未定義的 ecc ...
OpenLayers 6 + Angular 8:LineString(s)
MMTTMM
2022-01-01 20:12:39