如何将谷歌地理位置的坐标传递给另一个函数

How to pass coordinates of google geolocation to another function?

本文关键字:另一个 函数 坐标 谷歌 地理位置      更新时间:2023-09-26

我的问题是,当我将位置的纬度和经度打印到控制台时,它可以工作,但当我将它们传递给计算函数时,控制台会说它们是未定义的。

function getLocation() {
    if (navigator.geolocation) {
        navigator.geolocation.getCurrentPosition(showPosition);
    } 
    else {
        location.innerHTML = "Geolocation is not supported by this browser.";
    }
}
function showPosition(position) {
    console.log(position.coords.longitude); 
    var lat = position.coords.latitude;
    var lng = position.coords.longitude;
}
function calculate(lat,lng){
    var homeCoord = new Array();
    var awayCoord = new Array();
    console.log(lng);
    console.log(lat);
    homeCoord[0] = lat;
    homeCoord[1] = lng;
    awayCoord = myGeocodeFirst();
    var combinedLat = homeCoord[0]+awayCoord[0];
    var combinedLong = awayCoord[1]+homeCoord[1];
    console.log(combinedLat+" "+combinedLong);
}

谢谢你的帮助!

将其放入回调函数:

function showPosition(position) {
    console.log(position.coords.longitude); 
    var lat = position.coords.latitude;
    var lng = position.coords.longitude;
    calculate(lat,lng);
}
function calculate(lat,lng){
    var homeCoord = new Array();
    var awayCoord = new Array();
    console.log(lng);
    console.log(lat);
    homeCoord[0] = lat;
    homeCoord[1] = lng;
    awayCoord = myGeocodeFirst();
    var combinedLat = homeCoord[0]+awayCoord[0];
    var combinedLong = awayCoord[1]+homeCoord[1];
    console.log(combinedLat+" "+combinedLong);
}