Я новичок в Open Layers и новичок в JS.Я пытаюсь добавить точку на место, где я нажимаю на карту.Пока у меня это работает, но добавленные точки «перемещаются» на несколько пикселей от реальной точки щелчка - независимо от масштаба.Они всегда размещаются на несколько пикселей ниже.Вероятно, это ошибка новичка, но я не могу даже подумать, где искать причину.
просмотрел css-файлы и ничего такого, что могло бы быть здесь подозрительным
var map = new ol.Map({
view: new ol.View({
center: ol.proj.fromLonLat([19.90, 50.06]),
zoom: 10
}),
layers: [
new ol.layer.Tile({
source: new ol.source.OSM()
})
],
target: 'map'
});
var markerStyle = new ol.style.Style({
image: new ol.style.Icon({
anchor: [0.5, 0.5],
size: [52, 52],
offset: [52, 0],
opacity: 1,
scale: 0.35,
src: 'dot.png'
})
});
var marker = new ol.Feature({
geometry: new ol.geom.Point(
ol.proj.fromLonLat([19.95, 50.08])),
style: markerStyle
});
var marker2 = new ol.Feature({
geometry: new ol.geom.Point(
ol.proj.fromLonLat([19.99,50.09])),
style: markerStyle
});
var vectorSource = new ol.source.Vector({
features: [marker, marker2],
style: markerStyle
});
var markerVectorLayer = new ol.layer.Vector({
source: vectorSource,
});
map.addLayer(markerVectorLayer);
map.on('click', function(evt){
console.log(ol.proj.transform(evt.coordinate, 'EPSG:3857', 'EPSG:4326'));
var pointCoords = ol.proj.transform(evt.coordinate, 'EPSG:3857', 'EPSG:4326');
var markerX = new ol.Feature({
geometry: new ol.geom.Point(
ol.proj.fromLonLat(pointCoords)),
style: markerStyle
});
vectorSource.addFeature(markerX);
}); ````