在特定坐标中显示图标(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"))

最新更新