Daha çox

Əvvəl heç bir xüsusiyyət olmadığı bir xəritə sahəsini vurmadan başqa bir xüsusiyyəti tıkladığımda popup dəyərini necə dəyişə bilərəm?


Mənim üçün yeni olan openLayers 3 ilə işləyirəm və bir vektor qatında bir xüsusiyyəti tıkladığınızda ortaya çıxan bir popup əlavə edə bildim. Problem başqa bir xüsusiyyəti tıkladığınızda açılan məzmunun yenilənməməsidir; bağlamaq üçün bir xüsusiyyət olmadığı bir sahəni vurmalı, sonra yenilənən popup məzmunu üçün başqa bir xüsusiyyəti vurmalısınız. Əvvəlcə xüsusiyyət olmadığı bir yerə basmamaq üçün yeni bir xüsusiyyəti tıkladığınızda açılan məzmunun yenilənməsini istərdim. Bunu edə biləcəyim bir yol varmı? Budur istifadə etdiyim popup üçün kod:

map.on ('klik', function (evt) {var feature = map.forEachFeatureAtPixel (evt.pixel, function (xüsusiyyət, qat) {return xüsusiyyət;}); əgər (xüsusiyyət) {popup.setPosition (evt.coordinate) ; $ (element) .popover ({'yerləşdirmə': 'top', 'html': doğru, 'məzmun': 'Bağlama nömrəsi: 
'+ feature.get (' parcel ') +'
'+ 'Sahib:
'+ feature.get (' primowner ')}); $ (element) .popover ('show'); } başqa {$ (element) .popover ('məhv'); }});

Əvvəlcə məhv et, sonra göstər:

if (xüsusiyyət) {$ (element) .popover ('məhv'); popup.setPosition (koordinat); // ADVANCED rejimində adının dəyişdirilməsinin qarşısını almaq üçün düymələrə istinad edilir. $ (element) .popover ({'yerləşdirmə': 'top', 'animasiya': false, 'html': true, 'content': feature.get ('txt')}); $ (element) .popover ('show'); } başqa {$ (element) .popover ('məhv'); popup.setPosition (təyin olunmamış); }

http://jsfiddle.net/jonataswalker/9qorz7kd/


Videoya baxın: Xerite #1 (Oktyabr 2021).