Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Adresse in Längen und Breitengraden umwandeln

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Adresse in Längen und Breitengraden umwandeln

    This topic has been deleted. Only users with topic management privileges can see it.
    • H
      Heilu last edited by

      Hallo,

      ich benötige mal wieder eure Hilfe. In einem Datenpunkt javascript.0.Anschrift ist in dieser Form "Musterstadt Musterstrasse 1" eine Adresse. Wie kann ich diese in Datenpunkte als Längen-u.Breitengrade wiedergeben und diese dann in vis.map darstellen?

      In der Suche hab ich nix gefunden, was mir weiterhilft und programmieren ist leider nicht so mein Ding. 😉

      1 Reply Last reply Reply Quote 0
      • frankjoke
        frankjoke last edited by

        Ein Mittel dazu ist Geocoding, Google hat eine API dafür: https://developers.google.com/maps/docu … ding?hl=de

        Wenn du das aber nur einmal brauchst dann gehe in google-maps auf den Ort, und du findest dann in der Adresszeile mit @breitengrad,längengrad,??z wie @47.98962,16.6585758,15z

        In einem FHEM-Forum gabs auch mal einen Link zu einer Api die Ortsname in B/L-Grade umwandelt, natürlich für Orte die mehrmals vorkommen alle Ergebnisse listet. Ist mir leider entfallen da ich nur noch ioBroker verwende und da meinen Breiten/Längengrad im Adapter eingestellt habe.

        1 Reply Last reply Reply Quote 0
        • paul53
          paul53 last edited by

          Mit dem NPM-Modul https://www.npmjs.com/package/address-details, in die Konfiguration der JS-Instanz eingetragen, kann man die Koordinaten und weitere Details ermitteln.

          1 Reply Last reply Reply Quote 0
          • H
            Heilu last edited by

            > Mit dem NPM-Modul address-details, in die Konfiguration der JS-Instanz eingetragen, kann man die Koordinaten und weitere Details ermitteln.

            In der Instanz habe ich das eingetragen. Wie würde dann ein passendes Script aussehen? Vom Programmieren verstehe ich nicht viel. Meistens bastel ich mit blockly etwas rum.

            Vielleicht kannst du mir da noch etwas behilflich sein.

            > Ein Mittel dazu ist Geocoding, Google hat eine API dafür: [https://developers.google.com/maps/docu](https://developers.google.com/maps/docu) … ding?hl=de
            Dieses Beispiel kommt mir ein wenig umständlich vor oder täuscht das? Wie würde hier ein Script aussehen, damit ich das in vis darstellen kann ohne über das html-widget sondern über das map-widget zu gehen?

            1 Reply Last reply Reply Quote 0
            • paul53
              paul53 last edited by

              @Heilu:

              In der Instanz habe ich das eingetragen. Wie würde dann ein passendes Script aussehen? `

              // var idAdresse = '...';
              // var idLatitude = '...';
              // var idLongitude = '...';
              
              var Adresse = 'Prenzlauer Allee 100, Berlin';  // oder mit getState(idAdresse).val aus Datenpunkt einlesen
              
              var AddressDetails = require('address-details');
              
              AddressDetails.for(Adresse, function (err, details) {
                  if(err) log('Fehler Adress-Details: ' + err, 'error');
                  else {
                      log('volle Adresse: ' + details.fullAddress); 
                      log('geogr. Breite: ' + details.latitude);   // oder mit setState(idLatitude, details.latitude) in Datenpunkt schreiben
                      log('geogr. Länge: ' + details.longitude); // oder mit setState(idLongitude, details.longitude) in Datenpunkt schreiben
                  }    
              });
              
              1 Reply Last reply Reply Quote 0
              • H
                Heilu last edited by

                Ok, soweit hab ich das hinbekommen. Datenpunkte werden geschrieben. Allerdings müsste das ganze noch getriggert werden, wenn der Datenpunkt aktualisiert wird. Was muss da noch angepasst werden?

                Und das andere Problem: wie bekomme ich dann die Datenpunkte Lat.und Long in die vis-map als Marker?

                1 Reply Last reply Reply Quote 0
                • paul53
                  paul53 last edited by

                  @Heilu:

                  Allerdings müsste das ganze noch getriggert werden, wenn der Datenpunkt aktualisiert wird. `

                  ...
                  
                  function getPos() {
                      AddressDetails.for(Adresse, function (err, details) {
                          if(err) log('Fehler Adress-Details: ' + err, 'error');
                          else {
                              log('volle Adresse: ' + details.fullAddress);
                              setState(idLatitude, details.latitude);   // in Datenpunkt schreiben
                              setState(idLongitude, details.longitude); // in Datenpunkt schreiben
                          }   
                      });
                  }
                  
                  getPos();  // Script start
                  
                  on(idAdresse, function(dp) {   // Triggern bei Wertänderung
                      Adresse = dp.state.val;
                      getPos();
                  });
                  
                  
                  1 Reply Last reply Reply Quote 0
                  • H
                    Heilu last edited by

                    Vielen Dank für die schnelle Hilfe. Das hat schon mal super geklappt.

                    1 Reply Last reply Reply Quote 0
                    • First post
                      Last post

                    Support us

                    ioBroker
                    Community Adapters
                    Donate

                    803
                    Online

                    31.7k
                    Users

                    79.8k
                    Topics

                    1.3m
                    Posts

                    3
                    8
                    2389
                    Loading More Posts
                    • Oldest to Newest
                    • Newest to Oldest
                    • Most Votes
                    Reply
                    • Reply as topic
                    Log in to reply
                    Community
                    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                    The ioBroker Community 2014-2023
                    logo