Daha çox

Fırlanma baz nöqtəsinə nəzarət etməklə kartoklarda etiketlərin fırlanması


Cartodb / cartocss-də birdən çox mətn etiketini döndərməyə çalışıram. Hər bir etiketi əvəzləşdirirəm ki, bunlardan istifadə edərək yığılmış kimi görünsünlərmətn-dxmətnli. Istifadə olunurtext-horizontal-alignment: sol;mətn-şaquli-hizalama: alt;Müvafiq olmayan mətn üçün hizalamaya nəzarət edə bilərəm, amma istifadə edərkənmətn yönümlü: 90;(sənədlərə bax) sətrin ortasında və ortasında (yəni mətn etiketi) fırlanır.

Beləliklə, 90 dərəcə yönəldildikdə, artıq sola (və ya səhifənin altına) hizalanmır. Mənim simlərim / etiketlərim eyni uzunluqda olmadığı üçün gözlənilməz dönər etiket yerləşdirilməsinə səbəb olur.

Mətn döndərildikdə / istiqamətləndirildiyi zaman pivot / oriyentasiya nöqtəsini necə idarə edə biləcəyimə dair hər hansı bir tövsiyə var? Yoxsa markerimin ətrafında dönə biləcəyim bir yol varmı?

Oynadığım kod burada:

#test_project_los :: labels_sl [zoom> = 16] {mətn adı: [vol_sl]; text-face-name: 'DejaVu Sans Book'; mətn ölçüsü: 13; text-horizontal-alignment: sağ; mətn-şaquli-hizalama: orta; mətn etiketi-mövqe tolerantlığı: 0; mətn doldurulması: # 229A00; mətn halo ilə doldurun: fadeout (ağ, 40%); mətn-halo radiusu: 1; mətn-dy: -20; mətn-dx: -20; mətn yönümlü: 90; mətn-üst-üstə düşmə: doğru; mətn yerləşdirmə: nöqtə; } #test_project_los :: labels_st [zoom> = 16] {mətn adı: 'Sağ tərəfdə görünür' + [vol_st]; text-face-name: 'DejaVu Sans Book'; mətn ölçüsü: 13; text-horizontal-alignment: sağ; mətn-şaquli-hizalama: orta; mətn etiketi-mövqe tolerantlığı: 0; mətn doldurulması: # 3E7BB6; mətn halo ilə doldurun: fadeout (ağ, 40%); mətn-halo radiusu: 1; mətn-dy: -20; mətn-dx: -30; mətn yönümlü: 90; mətn-üst-üstə düşmə: doğru; mətn yerləşdirmə: nöqtə; } #test_project_los :: labels_sr [zoom> = 16] {mətn adı: [vol_sr]; text-face-name: 'DejaVu Sans Book'; mətn ölçüsü: 13; text-horizontal-alignment: sağ; mətn-şaquli-hizalama: orta; mətn etiketi-mövqe tolerantlığı: 0; mətn doldurulması: # FF2900; mətn halo ilə doldurun: fadeout (ağ, 40%); mətn-halo radiusu: 1; mətn-dy: -20; mətn-dx: -40; mətn yönümlü: 90; mətn-üst-üstə düşmə: doğru; mətn yerləşdirmə: nöqtə; }

İstədiyinizdən daha çox məlumatın əvvəlcədən işlənməsi ola bilər, amma təklif edirəm

  1. "Yığılmış" etiket qrupunun hər sətrini bir növ ayırıcı ilə tək bir sahəyə qoymağa çalışın ("label1, label2, label3, və s.)
  2. Sətir fasilələrinizi yaratmaq üçün mətn bükmə simvolundan istifadə edin

Bu şəkildə "etiket yığınınızın" mətni bir neçə sətirdən ibarət olmasına baxmayaraq, həqiqətən bir təkrar nöqtəyə sahib olacaqdır.


Bill tərəfindən təklif olunan və burada sənədləşdirilmiş çoxsaylı xəttli etiket metodundan istifadə olunan yeni kod.

Döndürülmüş / yönümlü mətnin yerləşdirilməsinə nəzarət etmək üçün daha yaxşı bir yolu bilən varsa, fikirlərinizi əlavə edin.

Yeni kodum:

#test_project_los :: labels_sb [zoom> = 16] {mətn adı: [vol_sr] + '_' + [vol_st] + '_' + [vol_sl]; mətn bükmə genişliyi: 1; text-wrap-character: '_'; text-face-name: 'DejaVu Sans Book'; mətn ölçüsü: 14; text-horizontal-alignment: sol; mətn-şaquli-hizalama: alt; mətnlə hizalama: sol; mətn etiketi-mövqe tolerantlığı: 0; mətn doldurulması: # 229A00; mətn halo ilə doldurun: fadeout (ağ, 20%); mətn-halo radiusu: 2; mətn-dy: -60; mətn-dx: -20; mətn yönümlü: 90; mətn-üst-üstə düşmə: doğru; mətn yerləşdirmə: nöqtə; }


Videoya baxın: Müraciət etiketləri (Oktyabr 2021).