You are not logged in.

Announcement

*** NOTICE: forum.openstreetmap.org is being retired. Please request a category for your community in the new ones as soon as possible using this process, which will allow you to propose your community moderators.
Please create new topics on the new site at community.openstreetmap.org. We expect the migration of data will take a few weeks, you can follow its progress here.***

#1 2015-06-15 13:46:10

Lübeck
Member
Registered: 2009-02-17
Posts: 2,874

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


Redmi Note 9 Pro  mit Android 11, Tablet Android 8.1, PC: Win10

Offline

#2 2015-06-15 17:45:44

gormo
Member
Registered: 2013-08-01
Posts: 2,119
Website

Re: Einfaches MapCSS-Beispiel

Siehe ab http://wiki.openstreetmap.org/wiki/MapC … 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.


OSM hat nicht das Ziel bis Ende des Monats einen vollständigen Datensatz der Welt zu enthalten.
(nach S.W.) - Aber weil die Welt vielfältig ist, weil sie auch im Detail interessant ist, mag ich genaue Karten (nach C.)

Offline

#3 2015-06-15 22:15:43

Klumbumbus
Member
From: Erzgebirgskreis
Registered: 2014-01-12
Posts: 630
Website

Re: Einfaches MapCSS-Beispiel

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

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.

Offline

#4 2015-06-16 06:51:29

Lübeck
Member
Registered: 2009-02-17
Posts: 2,874

Re: Einfaches MapCSS-Beispiel

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


Redmi Note 9 Pro  mit Android 11, Tablet Android 8.1, PC: Win10

Offline

#5 2015-06-16 10:10:45

Klumbumbus
Member
From: Erzgebirgskreis
Registered: 2014-01-12
Posts: 630
Website

Re: Einfaches MapCSS-Beispiel

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;
}

Offline

Board footer

Powered by FluxBB