Как узнать текущее местоположение (широту и долготу) и отправить его в API обратного геокодирования? - PullRequest
0 голосов
/ 24 сентября 2018

Я пытаюсь получить текущие значения широты и долготы и передаю их в веб-API под названием OpenCage Geocoder API.Вот что я сделал:

// reverse geocoding
function geocode() {

let lat,long;
window.onload = function() {
      var startPos;
      var geoSuccess = function(position) {
            startPos = position;
             lat = startPos.coords.latitude;
             long = startPos.coords.longitude;
      };
      navigator.geolocation.getCurrentPosition(geoSuccess);
  };


geoResponse = function(reponse)
{
   document.getElementById("address").innerHTML = response.results[17].toString();
};



let script = document.createElement('script');
script.src = "https://api.opencagedata.com/geocode/v1/json?q="+ lat +","+ long +"&key=00f711f73483427c8577e646aa2bf4bf&jsonp=geoResponse";
document.body.appendChild(script);


}

Я новичок в кодировании, и я немного застрял.Есть ли более простой метод для вызова этого конкретного API, я довольно заблудился.Любая помощь будет большой благодарностью!

1 Ответ

0 голосов
/ 24 сентября 2018

Я изменил и приложил фрагмент вашего кода для справки!В вашем getResponse вы получили параметр как reponse, а в коде вы вызвали response.results [17] .toString (), который получил undefined!

        window.onload = function() {
          navigator.geolocation.getCurrentPosition(function (position) {
            var lat = position.coords.latitude;
            var long = position.coords.longitude;
            var script = document.createElement('script');
            script.src = "https://api.opencagedata.com/geocode/v1/json?q="+ lat +","+ long +"&key=00f711f73483427c8577e646aa2bf4bf&jsonp=geoResponse";
            document.body.appendChild(script);  

        });
      }

      geoResponse = function(reponse){
        document.getElementById("address").innerHTML = reponse.results[0].formatted;
    }
  <div id="address">
    </div>
...