For some reason, labels are always placed in the bottom right of a polygon. I want them in the center of a polygon.

I tried these:

text-horizontal-alignment: middle;
text-vertical-alignment: middle;

but it doesn't help.


I noticed a strange thing: buildin labels are centered inside a polygon, but for regular area=yes or landuse=yes they are along the line, i.e. text-placement:interior is not working consistently.

Full example:

#labels {
    text-name: "[name]";
    text-fill: #444;
    text-face-name: 'Alfios Bold';
    text-placement: interior;
    text-size: 12pt;

#cemetery[building='yes'] {
    polygon-fill: #0f0;

#cemetery[landuse='residential'] {
    polygon-fill: #0f0;
  • Maybe you have declared somewhere rule like: text-placements: "SE,16"; – Andrey Borisko Jul 5 '14 at 4:38
  • No, I haven't declared text-placements. – Vanuan Jul 5 '14 at 12:49
  • The problem is that I'm using OsmPlugin, that doesn't support polygons very well :( – Vanuan Jul 5 '14 at 15:03

I know this is an old question, but if someone stumbles upon it currently looking for the answer try

text-placement-type: simple;
| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.