NEWS
Bilder in Vis anzeigen lassen
-
Hallo,
folgendes Szenario: Ich möchte die Mülltonnenbilder anzeigen lassen. Dazu werden in einen Datenpunkt Mülltonnen geschrieben, Z.B. Blaue Tonne, etc.. Jetzt möchte ich in der Vis das dazugehörige Bild mir anzeigen lassen. Mehrfachtonnen z.B. Blaue und Gelbe Tonne sollte ebenfalls funktionieren können.
Ich hatte gedacht es würde über ein Binding gehen mit folgendem Befehl:
Aber leider funktioniert es nicht. Könnte mir bitte jemand helfen? -
@jwerlsdf Bilder in VIS können nur angezeigt werden wenn diese per Dateimanager hochgeladen werden.
Sonstige Bilder können nur per URL von einem Webserver abgerufen werden! -
@djmarc75
Die Mülltonnenbilder habe ich bei mir hochgeladen.
Mit geht es um das Anzeigen bzw. verstecken einzelner Mülltonnen, wenn im Datenpunkt diese nicht erwähnt werden. -
@jwerlsdf warum so kompliziert? trashschedule adapter nehmen...
-
@da_woody sagte in Bilder in Vis anzeigen lassen:
trashschedule adapter nehmen...
Schau in seinen Spoiler... er verwendet diesen Adapter wohl (ist mir eben erst aufgefallen) daher ist das Vorgehen etwas unortodox...
-
@djmarc75 unortodox ist etwas untertrieben...
-
-
@djmarc75
genau.
Mir geht es halt darum, aus dem Datenpunkt die Tonnen herauszufinden und als Mülltonnenbilder anzeigen zu lassen.edit:
Ich werde es mit einem Skript lösen und entsprechend die Möglichkeiten mir in der VIS anzeigen lassen. -
Nur so nebenbei in deinem binding-eine abfrage geht so
Varx=="Gelbe Tonne" ? ......
{varx:trashschedule.0.next.types; varx=="Gelbe Tonne" ? "/vis.0/1/img/Abfallkalender/tonne_gelb.png" : varx=="Bio-Tonne" ? "/vis.0/1/img/Abfallkalender/tonne_braun.png" : "/vis.0/armin/img/2-.png"
du nutzt wahrscheinlich das image widget - dort kannst du keine zwei bilder anzeigen lassen.
brauchst du zwei bilder würde ich zwei image widgets nehmen, nebeneinander legen und ein leer-bild in das binding schreiben lassen, wenn die tonne nicht da ist - evtl kannst du auch mit der sichbarkeit des widgets arbeiten
um zwei bilder in ein widget zu bekommen, könntest du auch ein html widget nehmen und dort mit html code und zwei bildern arbeiten - würde ich aber umständlich finden
ich habe es mit 2 image-widgets gemacht und da bei mir nur 2 tonnen von 4 am selben tag kommen können, habe ich die 4 tonnen auf 2 widgets aufgeteilt.
und bitte poste formeln und logs in code tags, ist lesbarer - du kannst auch um die code tags noch einen spoiler legen, wenn dir das lieber ist
-
@jwerlsdf Ich hatte früher auch Bilder verwendet, habe das aber inzwischen mit Vektorgrafik in simplen HTML-Widget und Objektbindings umgesetzt.
Beispiel Papiertonne:
<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="80px" height="80px" viewBox="0 0 80 80" style="enable-background:new 0 0 80 80;" xml:space="preserve"> <g> <path class="paper" d="M58.314,61.435c0,0-5.588-7.429-6.373-9.12 c-2.052-4.415-0.529-6.798-2.027-9.725c-0.791-1.545-4.154-5.686-4.154-5.686l-15.362,4.243c0,0,3.991,3.988,4.826,5.483 c1.66,2.974,0.46,7.505,3.174,11.895c0.854,1.382,5.958,7.617,5.958,7.617L58.314,61.435z"/> <line class="paper" x1="34.55" y1="43.267" x2="45.141" y2="39.536"/> <line class="paper" x1="35.979" y1="44.705" x2="46.569" y2="40.975"/> <line class="paper" x1="36.896" y1="46.301" x2="47.486" y2="42.57"/> <line class="paper" x1="41.273" y1="59.629" x2="51.864" y2="55.897"/> <line class="paper" x1="43.044" y1="61.873" x2="53.635" y2="58.142"/> <path class="paper" d="M41.273,64.459c0,0-2.299,1.689-2.886,1.177 c-2.409-2.106-7.555-8.583-7.99-12.203c-0.095-0.783,1.112-2.188,1.053-2.974c-0.238-3.125-7.434-10.097-7.434-10.097l8.362-3.458" /> <path class="paper" d="M51.459,45.875l2.771-1.17c0,0-6.359-7.826-7.313-11.156 c-0.408-1.422,0.117-4.502-0.347-5.906c-0.759-2.296-5.296-8.094-5.296-8.094l-15.502,5.698c0,0,6.623,4.795,7.206,7.678 c0.11,0.543,0.101,2.659,0.052,3.225c-0.054,0.629,0.176,2.644,0.176,2.644"/> </g> <style> .paper { fill: none; stroke: {papier:trashschedule.0.type.papier.daysLeft; papier <= 1 ? "red" : "lime"}; opacity:0.6; stroke-linecap:round; stroke-width:2px } </style>