Daha çox

OpenLayers-də mulit yerləşdirmə ilə çox etiket


İçimdə bir vektor təbəqəsi varOpenLayers. Kimi bəzi xüsusiyyətlərə malikdirsol,sağ,üst,altvə s. Hər xüsusiyyətin çox etiketli olmasını istəyirəm (birdən çox etiketi olsun).
Javascript kodu aşağıdakı kimidir:

stil = yeni OpenLayers.Style (); qayda = yeni OpenLayers.Rule ({filter: new OpenLayers.Filter.Comparison ({…}), simvolizer: {fillColor: 'blue', label: ?????,}}); style.addRules ([qayda]); styleMap = yeni OpenLayers.StyleMap ({'default': style}); myLayer.styleMap = styleMap

Stilimin belə olmasını istəyirəm:

Necə edim?

Qeyd: Bunu bunu edə biləcəyimi bilirəm "SLD", amma OpnenLayers-da stil xəritəsini istifadə etməliyəm.


Etiket bir SVG mətn elementidir. Bunun üçün bir ləğv etməyinizi təklif edirəmOpenLayers.Renderer.SVG.prototype.drawTextfunksiya.

OpenLayers yükləmə paketinizi açın və burada tapa bilərsiniz:lib OpenLayers Renderer SVG.js: 649

Fonksiyonu götürün və öz kodunuzda bu şəkildə ləğv edin:

// Mənim drawText OpenLayers.Renderer.SVG.prototype.drawText = function (functionId, style, location) əvəz edir {// Orijinal kod burada}

Yoxlama brauzer tərəfindən OpenLayers kitabxanasından daha sonra oxunmalıdır. Yoxlamada, olub olmadığını yoxlamalısınızstilobyekt kimi əlavə xüsusiyyətlərinizi ehtiva edirsol,üst, və ya nə adlandırırsınızsa, bəli, etiketə bir transformasiya tətbiq edin. Sol üçün, olacaq

var translate = 'translate (' + -shift + ',' + 0 + ')'; label.setAttributeNS (boş, "çevir", tərcümə);

haradanövbəpikseldə istədiyiniz növbədir.

Etiketin fırlanması üçün oxşar ləğv etdim, amma işiniz biraz daha mürəkkəbdir, çünki düzgün başa düşsəm, bir xüsusiyyət üçün dörd etiket əlavə etmək istərdiniz. Yəni keçidinizi əvəzinə bir etiket əvəzinə dörd etiket əlavə etmək məcburiyyətində qalacaqsınız.


Eyni problem yaşadığım üçün bunun cavabı mənə maraqlıdır.

Bunu həll etdim (amma həqiqətən yaxşı bir həll deyil) eyni giriş məlumatlarını istifadə edərək bir neçə Vektor nəşr etmək və onlara fərqli bir üslub vermək.


Videoya baxın: Solved Error. Openlayers plugin in QGIS Showing Now. Best Method (Oktyabr 2021).