[英]Javascript pass geolocation as string variable
我想用地理位置标记相机照片(坐标很好)。 这是我的一段代码:
function getLocation() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(showPosition, showError);
} else {
x.innerHTML = "Geolocation is not supported by this browser.";
}
}
function showPosition(position) {
return position.coords.latitude + " " + position.coords.longitude;
}
在方法takePhoto()中,我有:
...
context.drawImage(video, 0, 0, 640, 480);
var loc = getLocation();
context.strokeText(loc, 10, 50);
...
我的问题是我不知道如何传递一个保存位置坐标的变量,我已经尝试了很多事情,但是没有成功。 有人有想法吗?
谢谢。
您需要异步等待以解决此问题
function takePhoto(position) { document.getElementById("x").innerHTML = position.coords.latitude + " " + position.coords.longitude; } function getLocation() { return new Promise((resolve,reject) => { if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(function(position) { return resolve(position); }, function(err) { return reject(err); }); } else { return reject("Geolocation is not supported by this browser."); } }) } (async function() { const coords = await getLocation(); takePhoto(coords); })().then(() => { console.log("done") }).catch((err) => { console.error(err); })
<div id="x">empty</div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.