Daha çox

Openlayers-3 bitdikdən sonra qarşılıqlı əlaqəni aradan qaldırmaq problemi


İstifadə edirəm OpenLayers-3.8.2. Mənim var hərəkətsizlik çəkin aşağıdakı kimi:

funksiyası drawEnd () {map.removeInteraction (drawIneraction). } var drawInteraction = new ol.interaction.Draw ({mənbə: mysource, yazın: 'LineString'}); drawInteraction.on ('drawend', drawEnd); map.addInteraction (drawInteraction);

Istifadəçi yalnız bir xüsusiyyət çəkmək istəyirəm. Bu Kod işləyir, lakin istifadəçi bir xüsusiyyət çəkdikdə, 2 səviyyəyə yaxınlaşdırın.

Yaxınlaşdırmanın qarşısını necə ala bilərəm??


Siz dinləyə bilərsinizdblclickhadisə və sonra sadəcəyalan qayıt;yaxınlaşdırmağı söndürmək; Lakin bunun üçün bir şərt qoymalısınız ki, böyüdücüyü yalnız istifadəçi rəsm çəkərkən söndürsün.

map.on ("dblclick", function (e) {if (drawingMode) {return false;}});

Bunu idarə etməyin düzgün yolu belədir:

// Xəritədə olan cüt vuruşlu qarşılıqlı əlaqəni tapın. var dblclickzoom; map.getInteraction (). forEach (funksiya (qarşılıqlı əlaqə) {if (qarşılıqlı əlaqə ol.interaction.DoubleClickZoom) {dblclickzoom = qarşılıqlı əlaqə;}}); // Xəritədən qarşılıqlı əlaqəni silin. əgər (dblclickzoom) {map.removeInteraction (dblclickzoom); } / * Çəkmə qarşılıqlı əlaqənizi buraya əlavə edin * / var drawinteraction = new ol.interaction.Draw (…); // Dinləyicini // qarşılıqlı əlaqənin çəkilməsindən daha çox mənbənin dəyişmə hadisəsinə yapışdırmaq istəyirəm, amma düşünürəm ki, ya işləməlidir ... drawinteraction.on ('drawend', function () {map.removeInteraction (drawinteraction); // Do bu zaman aşımında, buna görə çəkilişin bitməsinə səbəb olan // cüt vurma potensialı tərəfindən işə salınmır. if (dblclickzoom) {setTimeout (function () {map.addInteraction (dblclickzoom);});}}); // Çəkmə qarşılıqlı fəaliyyətinə başlayın… map.addInteraction (drawinteraction);

StopClick seçimini sınayın

var drawInteraction = new ol.interaction.Draw ({mənbə: mysource, yazın: 'LineString', stopClick: true});

çəkmədən əvvəl bunu təyin etməklə cüt vuruşda zoomu deaktiv edə bilərsiniz,

ol.interaction.defaults ({doubleClickZoom: false})

çəkiliş qarşılıqlı sildikdən sonra cüt vuruşu böyüdərək geriyə qaytarın


Videoya baxın: OpenLayers 3 animated heatmap (Oktyabr 2021).