Как замедлить мышь перед изменением с помощью OpenLayers - PullRequest
0 голосов
/ 25 сентября 2018

У меня есть карта с перетаскиваемым маркером (на самом деле ol.style.icon).Существует странная проблема: если я пытаюсь переместить маркер, это все равно что пытаться намотать марлина, но после увеличения / уменьшения или первого перетаскивания (щелкнуть туго, а затем нажать отпускание) маркер, естественно, замедляется.Я пытался играть с PixelTolerance, но какая-то разница.Почему и как немедленно замедлить этот маркер, пожалуйста?

var mark_style = new ol.style.Style({
    image: new ol.style.Icon({
    anchor: [.5, 48],
    anchorXUnits: 'fraction',
    anchorYUnits: 'pixels',
    opacity: 0.75,
    src: mark_path
 })
});

var iconFeature = new ol.Feature(position);
iconFeature.set('style', mark_style);

var vectorLayer = new ol.layer.Vector({
    style: function(feature) {
        return feature.get('style');
    },
    source: new ol.source.Vector({features: [iconFeature]})
})
var dragInteraction = new ol.interaction.Modify({
  features: new ol.Collection([iconFeature]),
  style: null,
  pixelTolerance: 10//?
});

dragInteraction.on('modifyend',function(f){
    var coordf = f.features.getArray()[0].getGeometry().getCoordinates();
    ol.View-view.setCenter(coordf);
    GMapWidget.prototype.A = coordf;
    GMapWidget.prototype.updatePosition(position);
    },iconFeature);

  map.addInteraction(dragInteraction);

После многих попыток кажется, что это проблема 'modifyend': мышь работает быстро до завершения первого dragInteraction.Как сделать пожалуйста?с модифицированным запуском, не больше ускорения, но как получить доступ ко всем позициям мыши после первого нажатия?

1 Ответ

0 голосов
/ 27 сентября 2018

ну, кажется, хорошо с dragInteraction.on(['modifyend', 'modifystart'] Я новичок, и я не знаю, почему мой код сейчас в порядке.Мне удалось после многих попыток.

...