• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Return des Ergebnisses

derDoc2021

New member
Hallo zusammen, ich bin JS Anfänger und versuche mich seit ein paar Tagen an einem Problem.

Google bringt mir auch nix wirkliches an hilfe. Villt. könnte mir einer helfen bzw. einen Denkanstoß geben.

Javascript:
function GetGEOAdress(Strasse,HNR,Ort){
        HNR = HNR.trim();
        HNR = HNR.replace(" ", "")
        Ort = Ort.trim();
        Ort = Ort.replace(" ", "%20")
        Strasse =  Strasse.trim();
        Strasse = Strasse.replace(" ", "%20")
        var geo;
        URL = "https://nominatim.openstreetmap.org/search?format=json&limit=1&addressdetails=1&q="+Ort+"%20"+HNR+"%20"+Strasse+"";
        $.getJSON(URL, function(data) {
            $.each( data, function( key, val ) {
                let lat          = val.lat;
                let lon          = val.lon;
                geo = lat+":"+lon;
            });
        });
        return geo;
    }

// Start der Function

GetGEOAdress('Aachener Str.','999','Köln');

Ich versuche mit diesem Script die GeoDaten über mein Return auszugeben.

Jemand einen Denkanstoß?
 
Vergessen :rolleyes:

Die URL gibt folgendes als JSON zurück:

JSON:
[{"place_id":307771151,"licence":"Data © OpenStreetMap contributors, ODbL 1.0. https://osm.org/copyright","osm_type":"relation","osm_id":271681,"boundingbox":["50.9324446","50.9345494","6.8736907","6.8765396"],"lat":"50.933505499999995","lon":"6.876025544484957","display_name":"RheinEnergieStadion, 999, Aachener Straße, Müngersdorf, Lindenthal, Köln, Nordrhein-Westfalen, 50933, Deutschland","class":"leisure","type":"stadium","importance":0.8999550391224111,"address":{"leisure":"RheinEnergieStadion","house_number":"999","road":"Aachener Straße","suburb":"Müngersdorf","city_district":"Lindenthal","city":"Köln","state":"Nordrhein-Westfalen","ISO3166-2-lvl4":"DE-NW","postcode":"50933","country":"Deutschland","country_code":"de"}}]

und ich brauche die LAT und LON Values. Alles andere ist unwichtig.
 
mach mal so:

Javascript:
function GetGEOAdress(Strasse, HNR, Ort, callback) {
  HNR = HNR.trim();
  HNR = HNR.replace(" ", "");
  Ort = Ort.trim();
  Ort = Ort.replace(" ", "%20");
  Strasse = Strasse.trim();
  Strasse = Strasse.replace(" ", "%20");
  var URL =
    "https://nominatim.openstreetmap.org/search?format=json&limit=1&addressdetails=1&q=" +
    Ort +
    "%20" +
    HNR +
    "%20" +
    Strasse +
    "";
  $.getJSON(URL, function (data) {
    $.each(data, function (key, val) {
      let lat = val.lat;
      let lon = val.lon;
      let geo = lat + ":" + lon;
      callback(geo); // call the callback with the geo value
    });
  });
}

und aufrufen mit

Javascript:
GetGEOAdress("Aachener Str.", "999", "Köln", function (geo) {
  console.log(geo); // do something with the geo value
});
 
Darum frägst Du ja in nem Forum nach, damit vielleicht gute Lösungen kommen (y)
 
Zurück
Oben