Добавляем точку в Open Layers, и она рисуется на несколько пикселей ниже фактической позиции координат щелчка указателя. - PullRequest
0 голосов
/ 10 июня 2019

Я новичок в 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);

});  ````

1 Ответ

0 голосов
/ 10 июня 2019

Хорошо, спасибо за ответ - это, вероятно, привело меня в правильном направлении. Я играл с markerStyle, а затем оказалось, что на моем маленьком мониторе, когда размер карты достигал некоторой точки, описывалась проблема. Когда немного изменил размер - он ушел. Приносим извинения за проблемы и спасибо @Mike за обращение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...