这是代码,我希望例如访问此函数之外的纬度变量,例如设置为其值。
var latitude = "b";
var longitude = "c";
navigator.geolocation.getCurrentPosition(function showLocation(position) {
latitude = position.coords.latitude;
longitude = position.coords.longitude;
});
navigator.geolocation.getCurrentPosition(showLocation(position);
$(".test").html(latitude)
答案 0 :(得分:0)
它不完全漂亮,但这应该有效:
var latitude;
var longitude;
navigator.geolocation.getCurrentPosition(function showLocation(position) {
latitude = position.coords.latitude;
longitude = position.coords.longitude;
continueExecution(); // or something similar
});
function continueExecution() {
$(".test").html(latitude)
... // blah blah blah
}
注意:由于显而易见的原因,某些浏览器会禁用非HTTPS网站的地理位置。检查以确保您的浏览器不会阻止地理位置。
另一个注意:由于getCurrentPosition
调用的异步特性,在检查getCurrentPosition
和{{1}的值之前,必须确保longitude
内的函数已运行}。
答案 1 :(得分:-1)
首先,您的问题不够明确,您的代码会造成更多混乱。根据我的理解,我假设你想从函数返回纬度值并打印在<div>
标签中。查看下面的代码段。这是你想要的吗?
var position = {
coords : {
latitude: "b",
longitude: "c"
}
}
$(document).ready(function(){
var location = showLocation(position);
$(".test").html(location.lat);
});
function showLocation(position) {
var latitude = position.coords.latitude;
var longitude = position.coords.longitude;
return {
lat: latitude,
lon: longitude
}
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<div class="test">Latitude goes here...</div>