[英]How to return geolocation response object to be used in different components?
[英]How to return geolocation response object to use as a parameter for another function
我對函數和HTML5 GeoLocation API有所幫助。
我想使用用戶當前位置(經度和緯度)生成一個url。
我設法使代碼可以找到當前用戶的位置,並將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();
因為getCurrentPosition
函數是異步的,所以返回對象有點麻煩。
您可以只將coords
對象作為參數傳遞給generateURL
函數,然后在locationSuccess
函數內部調用它。
function getUserLocation() {
function locationSuccess(position) {
console.log("success");
var coords = position.coords;
generateURL(coords);
}
function locationError() {
console.log("error")
}
navigator.geolocation.getCurrentPosition(locationSuccess, locationError);
}
function generateURL(coords) {
var URL = 'http://example.com/?lat=' + coords.latitude + '&long=' + coords.longitude;
console.log(URL);
}
function app() {
getUserLocation();
}
window.onload = app();
JSFiddle //代碼段由於iframe安全問題而無法使用
將變量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();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.