鉴于这些用于确定用户位置的功能:
function getLocation() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(showPosition);
}
else {
alert("Geolocation is not supported by this browser.");
}
}
function showPosition(position) {
var lat = position.coords.latitude;
var lon = position.coords.longitude;
}我对它的工作原理有很高的理解,但我无法从窗口对象中找到position.coords.latitude的来源。
在window.position.coords.latitude里是有意义的.或者在window.navigator.geolocation的某个地方..。
但当我console.log窗口时,这两个位置中的任何一个都没有出现。
这个在窗口对象中的位置在哪里?
发布于 2020-09-19 06:32:15
navigator.geolocation.getCurrentPosition()是一个异步函数。如果您看到navigator.geolocation.getCurrentPosition((a)=> console.log(a.timestamp))回调响应,也包括时间戳。
因为这个API每次调用时都会获取协调,所以它不会存储或缓存lat/long。
希望这能回答你的问题。
有关更多信息,请参阅
发布于 2020-09-19 06:29:38
如果您在控制台中执行navigator.geolocation.getCurrentPosition(data => console.log(data))操作,将出现一个警报,要求您确认是否要共享您的位置。按允许键。然后,在getCurrentPosition()返回包含coords属性的对象的控制台中。coords也是一个具有latitude和longitude (和其他一些属性)的对象。
https://stackoverflow.com/questions/63965853
复制相似问题