在特定坐标中显示图标 (OpenLayers)

Show an icon in certain coordinates (OpenLayers)

我正在使用 OpenLayers 制作地图,但无论我输入哪个坐标,图标始终显示在非洲海岸(坐标 0,0)。不幸的是,openlayers web 中的所有示例都在坐标 0,0 中。

这是我到目前为止尝试过的方法:

var iconFeature = new ol.Feature({
            geometry: new ol.geom.Point([126.95, 37.5333]),  <--- HERE I INPUT MY COORDINATES
            name: 'Null',
        });

        var iconStyle = new ol.style.Style({
        image: new ol.style.Icon({
            anchor: [0.5, 46],
            anchorXUnits: 'fraction',
            anchorYUnits: 'pixels',
            src: 'https://image.flaticon.com/icons/svg/1673/1673221.svg',
            scale: 0.0625
        })
        });

        iconFeature.setStyle(iconStyle);

        var vectorSource = new ol.source.Vector({
        features: [iconFeature]
        });

        var vectorLayer = new ol.layer.Vector({
        source: vectorSource
        });

        var map = new ol.Map({
            target: 'gmap',
            layers: [
                new ol.layer.Tile({
                    source: new ol.source.OSM()
                }), vectorLayer
            ],
            view: new ol.View({
                // center: ol.proj.fromLonLat([126.95, 37.5333]),
                center: ol.proj.fromLonLat([IvreWebUiService.currentHost.infos.coordinates[1], IvreWebUiService.currentHost.infos.coordinates[0]]),
                zoom: 13
            })
        });

我也在使用 Openlayers 对图标坐标的经度和纬度要求。欢迎任何可能的解决方案。谢谢

地理坐标必须转换为投影平面,例如:

geometry: new ol.geom.Point(ol.proj.transform([126.95, 37.5333], "EPSG:4326", "EPSG:3857"))