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