Einfaches MapCSS-Beispiel

Moin !

ich möchte gerne JOSM für einen einfachen beruflichen Zweck benutzen.

Es geht einfach darum ein Icon anzuzeigen und den Namen in einer von mir definierten Größe darzustellen.

Könnte mir jemand mit einem Beispiel aushelfen?

Gruß Jan

Siehe ab http://wiki.openstreetmap.org/wiki/MapCSS/0.2#Point.2Ficon_properties

http://overpass-turbo.eu/s/9WA

{{style:

node[aeroway=navigationaid] {
  icon-image: url('https://upload.wikimedia.org/wikipedia/commons/6/6e/Fighter-jet-black-icon.svg');
  text: name;
}

}}

Aber der MapCSS-Dialekt in Overpass Turbo kann die Schriftart-Sachen nicht, oder ich bin zu doof, das hinzukriegen. Mit JOSM hab ichs nicht probiert.

Für JOSM ist die mapcss-Dokumentation hier: https://josm.openstreetmap.de/wiki/Help/Styles/MapCSSImplementation

Das Bespiel leicht angepasst:


node[aeroway=navigationaid] {
    icon-image: "https://upload.wikimedia.org/wikipedia/commons/6/6e/Fighter-jet-black-icon.svg";
    text: name;
    font-size: 12;
}

Es geht auch ein lokaler Pfad für das Icon. Icongröße oder Textposition usw. können auch angepasst werden.

Moin!

erst einmal vielen Dank - aber eine Frage habe ich jetzt noch.

Ich möchte zwei Tags über zwei Zeilen anzeigen. Habe mir dazu folgendes überlegt. Ich nehme…

text: eval(concat(tag("ref"), " - ", tag("ele")));

und ersetze “-” durch einen Zeilenumbruch “\n”

Aber das funktioniert nicht!

Eine andere Idee?

Gruß Jan

Zeilenumbrüche gehen meines wissens nicht. Du könntest jedoch eine zweite Ebene für die zweite Zeile nutzen:


node[ref] {
    icon-image: "presets/peak.svg";
    text: ref;
    font-size: 12;
    text-anchor-horizontal: center;
    text-offset-y: -12;
}

node[ele]::zweite_zeile {
    text: ele;
    font-size: 12;
    text-anchor-horizontal: center;
    text-offset-y: -29;
}

Für den Fall dass du Daten hast, wo es teilweise nur ele aberr kein ref gibt, dann könnte man das entsprechend auch so gestalten, dass dann ele in der ersten Zeile steht:


node[ref] {
    icon-image: "presets/peak.svg";
    text: ref;
    font-size: 12;
    text-anchor-horizontal: center;
    text-offset-y: -12;
}

node[ele][ref]::zweite_zeile {
    text: ele;
    font-size: 12;
    text-anchor-horizontal: center;
    text-offset-y: -29;
}
node[ele][!ref] {
    icon-image: "presets/peak.svg";
    text: ele;
    font-size: 12;
    text-anchor-horizontal: center;
    text-offset-y: -12;
}