如何获取当前位置(纬度和经度)并将其发送到反向地理编码 API?



我正在尝试获取我当前的纬度和经度并将其传递给一个名为OpenCage Geocoder API的Web 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,我很迷茫。 任何帮助将非常感谢!

我已经修改并附加了您的代码片段以供参考!在你的getResponse中,你收到了参数作为响应,在代码中你调用了response.results[17].toString((它没有定义!

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>

最新更新