如何返回地理位置响应对象以用作另一个函数的参数

时间:2017-12-30 17:32:27

标签: javascript function geolocation

我正在对函数和HTML5 GeoLocation API提供一些帮助。

我想使用用户当前位置(经度和纬度)生成网址。

我设法让代码工作以找到当前用户的位置 并将position.coords对象分配给名为coords的变量。

我想知道的是我是否可以返回locationSuccess函数中的对象,然后将该对象作为generateURL函数的参数传递,并检索纬度和经度以控制日志记录完成的URL。

我可能完全错了,但是一些帮助会很棒。 TIA。

// app.js

function getUserLocation() {

	function locationSuccess(position) {

		console.log("success");

		var coords = position.coords;

	}

	function locationError() {

		console.log("error")

	}


navigator.geolocation.getCurrentPosition(locationSuccess, locationError);

}

function generateURL() {


}

function app() {

	getUserLocation();

}

window.onload = app();

2 个答案:

答案 0 :(得分:1)

返回对象有点麻烦,因为 logoutUser() { console.log('Logout the user'); } 函数是异步的。

您可以将getCurrentPosition对象作为参数传递给coords函数,并在generateURL函数内调用它。

locationSuccess

JSFiddle //由于iframe安全问题,代码段不起作用

答案 1 :(得分:1)

将变量position作为参数传递给generateURL()函数。请参阅下面的修改和评论。

// app.js

function getUserLocation() {

	function locationSuccess(position) {
            console.log("success");

            var coords = position.coords;

            // Pass the object as a parameter to the generateURL() function.
            generateURL(position);
	}

	function locationError() {
	    console.log("error")
	}

        navigator.geolocation.getCurrentPosition(locationSuccess, locationError);

}

// Added: variable position as a parameter to the function
function generateURL(position) {
    console.log(position);

}

function app() {
    getUserLocation();
}

window.onload = app();