Map Widget reloaded - Neue Version des Map Widgets

Begonnen von eki, 05 Oktober 2018, 16:04:19

Vorheriges Thema - Nächstes Thema

Carsten

Vielen Dank!

Ich werde es hoffentlich heute Abend ausprobieren.

Carsten

Icon größer machen mit stroke funktioniert einwandfrei.
MapCenter aus Reading funktioniert auch, allerdings nur einmalig nach Refresh. Eine Änderung richtet nicht die Karte neu aus.

Übrigens hast du bei der Anpassung des Wikis überall "GoogleMapsSize" mitkopiert. Auch bei GoogleMapsCenter und GoogleMapsZoom

curt

Zitat von: Carsten am 06 Februar 2019, 23:56:07
Ich möchte es benutzen, um einen Einsatzort schnell auf der (OSM-)Karte anzuzeigen.

Zeige bitte den Code, wenn Du das hinbekommen hast. (Gehört als Beispiel ins Wiki.)
RPI 4 - Jeelink HomeMatic Z-Wave

Carsten

Zitat von: curt am 07 Februar 2019, 23:11:39
Zeige bitte den Code, wenn Du das hinbekommen hast. (Gehört als Beispiel ins Wiki.)
Der Code im Bezug zum Map-Widget ist ja ziemlich unspektakulär. Ich nutze doch nur die absoluten Basisfunktionen ( Punkt anzeigen ).

Gibt es die Möglichkeit, aus FHEM ein Refresh des Map-Widgets zu erzwingen?

eki

#49
Zum Wiki: Habe ich korrigiert
Zum Thema Update und Anpassung an Readings für Center: Da ist tatsächlich noch ein Fehler, muss ich nachforschen, irgendwie wird beim OSM Modus gerundet und dadurch erscheint es so, dass eine Änderung keinen Einfluss hat.
Jede Änderung eines Readings, das relevant für die Karte ist (Center, Zoom, Start-Adresse (bei TRAFFIC), Ziel-Adresse (bei TRAFFIC), ...) triggert ein Neuzeichnen der Karte. Ein spezielles Reading, das nur für das neu Zeichnen da ist, gibt es bisher nicht, wäre aber leicht machbar.

Carsten

Ich weiß nicht, ob ich dich jetzt falsch verstanden habe, aber wenn ich mich richtig erinnere hat auch die Reihenfolge:
1. Änderung MapCenter
2. Änderung Lat
3. Änderung Lon
zwar den Punkt auf der Karte verschoben, aber nicht das Mapcenter geändert.
Es sah zwar manchmal danach aus, als würde neu gezeichnet ( kurzes "Flackern" der Karte ), aber geändert hat sich an der Kartenzentrierung nichts.

curt

Zitat von: Carsten am 08 Februar 2019, 11:04:19
ZitatZeige bitte den Code, wenn Du das hinbekommen hast. (Gehört als Beispiel ins Wiki.)
Der Code im Bezug zum Map-Widget ist ja ziemlich unspektakulär. Ich nutze doch nur die absoluten Basisfunktionen ( Punkt anzeigen ).

Die Betonung lag ja auch auf "wenn Du das hinbekommen hast". Also wenn das automatisch zentriert.

Ich finde Deinen Ansatz sehr spannend, ich erweitere ihn gedanklich: Von irgendwo her fliegt eine Koordinate in FHEM rein, da könnte man sich zig Gründe für ausdenken: Automatisiert aus einem Nachrichtenstream oder aus einem Forum. Oder das Handy der Gattin <lach>. Oder selbst von Hand eingetragene Koordinate für den nächsten Kurzurlaub.

Leider ist es wohl so, dass wir eher allein sind - ich habe nicht den Eindruck, dass sehr viele ekis geniales Widget nutzen.
RPI 4 - Jeelink HomeMatic Z-Wave

eki

#52
Zitat von: Carsten am 08 Februar 2019, 14:43:45
Ich weiß nicht, ob ich dich jetzt falsch verstanden habe, aber wenn ich mich richtig erinnere hat auch die Reihenfolge:
1. Änderung MapCenter
2. Änderung Lat
3. Änderung Lon
zwar den Punkt auf der Karte verschoben, aber nicht das Mapcenter geändert.
Es sah zwar manchmal danach aus, als würde neu gezeichnet ( kurzes "Flackern" der Karte ), aber geändert hat sich an der Kartenzentrierung nichts.
Wie gesagt, das Setzen des Mittelpunktes geht mit OSM noch nicht richtig, sondern nur, wenn die Änderung so groß ist, dass sich der aktuelle Ausschnitt so stark ändert, dass sich der komplette Ausschnitt um eine ganze Fensterbreite (oder Höhe) verschiebt. Ansonsten verschiebt es sich kurz (wie vom Widget angefordert), und schnappt dann wieder zurück, das ist das beschriebene Flackern. Das Problem scheint irgendwo in der von mir genutzten Leaflet Kartenbibliothek zu stecken, und da ist eben Nachforschen auf meiner und Geduld auf Eurer Seite angesagt.

eki

Ich habe jetzt mal eine Version, die das Setzen des Mittelpunkts (hoffentlich) in beliebiger Weise erlaubt. Bitte mal testen.

klausw

Zitat von: curt am 08 Februar 2019, 22:32:32
Leider ist es wohl so, dass wir eher allein sind - ich habe nicht den Eindruck, dass sehr viele ekis geniales Widget nutzen.

Also ich nutze es und bin sehr zufrieden.
Im Forum ist man halt eher unterwegs wenn etwas nicht läuft ;)
RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

Carsten

Zitat von: eki am 13 Februar 2019, 13:41:57
Ich habe jetzt mal eine Version, die das Setzen des Mittelpunkts (hoffentlich) in beliebiger Weise erlaubt. Bitte mal testen.
Habs jetzt ausprobiert. Prinzipiell funktioniert es.
Zwischendurch beim Testen hat es aber auch zweimal einfach aufgehört, auf Änderungen zu reagieren. Danach hat sich die Kartenzentrierung erst nach Refresh wieder ändern lassen. Der Zielpunkt ließ sich aber weiter ändern.
Ich kann das allerdings jetzt nicht mehr reproduzieren. Daher weiß ich nicht, ob es Bug, Bedienfehler, Cacheproblem oder sontwas war.

Im Moment würde ich sagen, es funktioniert. Vielen Dank!

Clyde

Tolle Arbeit. Das Widget hilft mir sehr bei einer Fahrrad Challenge die Teilnehmer am Tagesende in eine Karte zu bringen.

Ist es möglich die Karte als Bild mit den dargestellten Punkten abzuspeichern? Ich würde die gern per Mail versenden.
2x Cubietruck, CUL868, HM-USB-CFG2
FS20, FHT, KS300, HM, MAX, Tradfri

Sailor

Ein herzerfrischendes "Moin" vom achtern Diek vorweg!

Hat es Jemand mal geschafft ein Popup mit einer kleinen Karte und einem Popup-Dialog zu einer großen Karte dargestellt zu bekommen?

Mein Code unten stellt mir die kleine Karte wunderbar dar und oeffnet auch beim draufklicken ein Popup.
Das Fenster ist aber leider ohne Karte.


<li data-row="4" data-col="7" data-sizex="2" data-sizey="2" class="semitransparent">
   <header><div data-type="label" class="large">Traffic Situation</div></header>
   <div data-type="popup"
        data-height="900px" data-width="1000px">
       <div id               = "TraffictMapSmall"
          style             = "height:100%; width:100%"
          data-type         = "maps"
          data-showdetails  = "true"
          data-center       = "53.569531,9.619997"
          data-zoom         = "10"
          data-map_type     = "OSM"
          data-language     = "en"
          data-mapgroup     = "1"
          data-stroke       = "#FF1111,7,60"
          data-showdetails  = "true"
          data-traffic      = "true">
      </div>
      <div class="dialog">
         <header>Traffic Situation</header>
         <div id               = "TrafficMapBig"
             style             = "height:100%; width:100%"
             data-type         = "maps"
             data-showdetails  = "true"
             data-center       = "53.569531,9.619997"
             data-zoom         = "10"
             data-map_type     = "OSM"
             data-language     = "en"
             data-mapgroup     = "1"
             data-stroke       = "#FF1111,7,60"
             data-showdetails  = "true"
             data-traffic      = "true">
         </div>
      </div>   
   </div>   
</li>


Irgendjemand eine Idee, was ich falsch mache?

Danke und Gruß
    Sailor
******************************
Man wird immer besser...

Darkrabbit

Hallo zusammen,

kurze Frage, habe dazu leider nirgends etwas gefunden:

Ich will die aktuelle Position meines Autos darstellen. Die Position wird auch schon korrekt dargestellt. Jedoch muss ich immer das data-center angeben, da er sonst irgendwo auf der Karte das Zentrum wählt (zumeist im Atlantik).
Kann man es irgendwie einstellen, dass einfach immer auf die angegeben Koordinaten zentriert wird?

Oder gibt es alternativ einen Trick wie ich direkt den String für das data-center ('<Latitude>,<Longitude>') aus einem Device in dieser gewünschten Form auslesen kann?

Sonst müsste ich es irgendwie ziemlich umständlich in ein Dummy-Reading schreiben. Aber das müsste doch einfacher gehen?

curt

Der Hochploppen dieses Threads erinnert mich daran, dass ich @eki fragen muss, wie wir die "Blitzer" in die Karte bekommen: Eigentlich sind das rein technisch ja auch nur Löschhydranten ...
RPI 4 - Jeelink HomeMatic Z-Wave