Daha çox

OpenLayers: ModifyFeature hadisəsini proqramatik olaraq söndürün


Hər kəs bu funksiyanı normal rejimdən çıxaran bir vektor xüsusiyyət klikini necə proqramlaşdırmağı simulyasiya edəcəyini bilirmi:

xüsusiyyət rejimini dəyişdirmək üçün:

Vektor təbəqələrinin içərisində yalnız bir xüsusiyyətim var və redaktə düyməm var. Hər şey işləyir və sadəcə lazımsız bir klik saxlamaq üçün çalışıram.


ModifyFeature nəzarətindən istifadə edin. Qatınızı idarəetməyə əlavə edin, idarəetməni xəritəyə əlavə edin, idarəetməni aktivləşdirin və sonra nəzarətdəki selectFeature () funksiyasına zəng edin və öz xüsusiyyətinizə keçin. API, müstəqil rejimdə olmalı olduğunuzu səsləndirir, ancaq müstəqil rejimdə olmadan mənim üçün işləyir. OL 2.13.1 istifadə edirəm.


Açıq Layers 3 haqqında soruşduğunuzu düşünürəm?

Jquery (və ya düz js) istifadə edirəm və görüntü sahəsinə bir siçan hadisəsi qururam. Bu, hansı xüsusiyyətin tıklandığını müəyyən etməyə imkan verəcəkdir. Çoxbucağının, simvolunun və s.

var iconFeature = yeni ol.Feature ({YOUR FEATURE PROPERTIES}) iconFeature.set ('automodify', true); $ (map.Map.getViewport ()). on ('mouseup', funksiya (e) {var xüsusiyyət = map.forEachFeatureAtPixel ([e.pageX, e.pageY], funksiya (xüsusiyyət, qat) {qaytarma xüsusiyyəti;} ); if (xüsusiyyət) {if (xüsusiyyət.get ('avtomatlaşdırmaq')) {handleTheFeatureClick (xüsusiyyət);}}}); funksiya handleTheFeatureClick (xüsusiyyət) {var modify = yeni ol.interaction.Modify ({xüsusiyyətlər: yeni ol.Collection ([xüsusiyyət])})); map.addInteraction (dəyişdirmək); }


Videoya baxın: An Introduction to Mapbox (Oktyabr 2021).