2

Adressen auf Karte anzeigen

Wenn ich diesen Aufruf einer Befehlsschaltfläche hinterlege, kann ich mir eine Adresse aus der Datenbank in Google-maps anzeigen lassen.
openURL("https://google.de/maps/place/" + Strasse + ", " + Postleitzahl + " " + Stadt).
Hat jemand eine Idee, wie ich mir alle meine Kunden (ADRESSEN) insgesamt auf EINER Karte (Google maps, google earth, apple map oder sonstwo) anzeigen lassen kann?
Also mit pins oder ähnlichem?
Ich glaube nicht, dass das geht, aber fragen schadet ja nicht ....

31 Antworten

null
    • Sven_Glaser
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Hi habe mir eure Einträge gerade mit viel Aufmerksamkeit durchgelesen und werde mit das ein oder andere davon zu nutzen machen.

    Ich habe jedoch noch eine Frage zu der Tabelle die in Ninox die Daten für uMap bereitstellt

    Wie bzw. wo nehmt ihr die lat und ion Daten her gibt es dazu auch nicht eine kleine hilfe

    Danke für so eine Aktive Community

      • Manuela_Schon
      • vor 1 Jahr
      • Gemeldet - anzeigen

      @Sven Glaser Ich habe die händisch übertragen von den Angaben unter "Standort", da werden sie angezeigt. Erster Wert lat und zweiter lon. Geht vielleicht auch weniger umständlich, gerade wenn es viele Daten sind. Bei mir war es überschaubar und demnach schnell gemacht.

      • Michael_Steingen
      • vor 1 Jahr
      • Gemeldet - anzeigen

       

       

      Das findest Du in einem anderen Thread. Wirst Du sicherlich finden, wenn Du nach der Funktion unten suchst. Um es kurz zu machen, Du musst Dich dazu bei Google anmelden und Einstellungen in der Google Konsole vornehmen, um Abfragen ausführen zu können. Du erhältst von Google einen Key, den Du unten in die Funktion einfügst.  Die beiden Werte lat und lon erhältst dann Du zurück, wenn Du an Google Maps die Adresse sendest. Bis zu einer geringen Anzahl an Abfragen ist das alles kostenlos.

      Die Adresse habe ich zuvor in der Form (Straße, Hausnummer, PLZ, Ort, Land) in das Funktionsfeld "Adresse" übertragen.  Anschließend erstellst Du folgende globale Funktion im Ninox Datenmodell unter Optionen:

      function getGeocode(adress : text) do
          let url := "https://maps.googleapis.com/maps/api/geocode/json?address=" + urlEncode(adress) +
              "&key=" +
              "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
          let methode := "GET";
          let response := do as server
                  http(methode, url, "", "")
              end;
          {
              place_id: response.result.first(results).place_id,
              lat: response.result.first(results).geometry.location.number(lat),
              lng: response.result.first(results).geometry.location.number(lng)
          }
      end

       

      Ich habe mir anschließend einen Ok Botton erstellt erstellt, über den ich die beiden Felder lat und lon  fülle, indem beim Klicken folgendes ausgeführt wird:

      let myAdr := Adresse;
      let myCode := getGeocode(myAdr);
      lat := myCode.lat;
      lon := myCode.lng 

       

      Ich hoffe, Du kommst so weiter.

      • Developer by Smartplanung
      • smartplanung
      • vor 1 Jahr
      • Gemeldet - anzeigen

       wie schon geschrieben, lässt sich das mit externen API-Anbietern realisieren. Eine Alternative zu Google wäre z.B. LocationIQ, was ich seit einiger Zeit einsetze. Dort gibt es auch ein kostenloses Budget für API-Calls (5000/Tag).

      function getGeocode(address : text,token : text) do
          let url := "https://eu1.locationiq.com/v1/search?key=" + token + "&q=" +
              urlEncode(address) +
              "&format=json&accept-language=de&addressdetails=1";
          let methode := "GET";
          let vResponse := http(methode, url, "", "");
          let vJSON := text(item(vResponse.result, 0));
          {
              lat: item(vResponse.result, 0).lat,
              lng: item(vResponse.result, 0).lon,
              response: vJSON
          }
      end;
      
      let apiKey := "DEIN API TOKEN";
      let vAdresse := text(PLZ + " " + 'Straße' + " " + 'Hausnummer' + "," + Ort);
      let vLocation := getGeocode(vAdresse, apiKey);
      latitude := vLocation.lat;
      longitude := vLocation.lng;
      

      Die Funktion befindet sich in meinem Fall in den globalen Funktionen. Kann man aber auch komplett in einen Button einfügen oder entsprechend umschreiben.

      • Ulrich_Behning
      • vor 3 Monaten
      • Gemeldet - anzeigen

       An sich funktioniert das jetzt bei mir sehr gut, ich bekomme so die Koordinaten in zwei dafür angelegte Felder, Danke dafür.

      Wie bekomme ich diese Längen- und Breitengrade denn zusätzlich noch in das Feld "Standort", welches Ninox als Standard anbietet?

      Gruß Ulrich

      • Developer by Smartplanung
      • smartplanung
      • vor 3 Monaten
      • Gemeldet - anzeigen

       in meinem Fall habe ich damals folgendes unter dem oben angegebenen Code ergänzt:

      Standort := location(vAdresse, number(latitude), number(longitude))
      

      Standort ist in dem Fall das Standortfeld.

Content aside

  • 2 „Gefällt mir“ Klicks
  • vor 1 MonatZuletzt aktiv
  • 31Antworten
  • 4331Ansichten
  • 16 Folge bereits