OpenLayers修改结束前如何减慢鼠标速度

时间:2018-09-25 07:16:04

标签: javascript mouseevent openlayers-3 markers

我有一个带有可拖动标记的地图(实际上是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结束之前很快。请问该怎么办?使用Modifystart,不会再加快速度,但是随后在第一次单击后如何访问所有鼠标位置?

1 个答案:

答案 0 :(得分:0)

好吧,encode_onehot <- function(x, colname_prefix = "", colname_suffix = "") { if (!is.factor(x)) { x <- as.factor(x) } encoding_matrix <- contrasts(x, contrasts = FALSE) encoded_data <- encoding_matrix[as.integer(x)] colnames(encoded_data) <- paste0(colname_prefix, colnames(encoded_data), colname_suffix) encoded_data } df <- cbind(df, encode_onehot(df$subject, "subject_")) 似乎还可以 我是一个初学者,我不知道为什么我的代码现在还可以。经过多次尝试我成功了。