地理定位在笔记本电脑上工作,但不在智能手机上
Posted
技术标签:
【中文标题】地理定位在笔记本电脑上工作,但不在智能手机上【英文标题】:Geolocation Working on Laptop but Not on Smartphone 【发布时间】:2021-09-03 16:41:22 【问题描述】:有谁知道为什么这在智能手机上不起作用(在 android 上测试),但在计算机上起作用(在 macbook 上测试)。
基本上当用户点击一个按钮时,浏览器会请求位置许可。在笔记本电脑浏览器上运行良好,但在智能手机上却不行。
// calling geolocation on click
myButtonElement.addEventListener("submit", function (e)
e.preventDefault();
navigator.geolocation.getCurrentPosition(success, error);
);
const error = (errorObj) =>
// handle error
;
const success = (position) =>
// call weather api etc...
;
【问题讨论】:
【参考方案1】:我遇到了同样的问题,这就是我所做的:
首先确保您已更新设备上的 chrome 浏览器。
-
开始第一台移动设备的定位服务
调用
window.onload = () => getLocation()
函数onLoad
通过这样做,它询问了我的许可并且效果很好。
window.onload = () =>
getLocation()
// or
// calling geolocation on click
// myButtonElement.addEventListener('submit', (evt) =>
// evt.preventDefault();
// getLocation()
// );
const successHandler = (position) =>
alert(position.coords.latitude)
alert(position.coords.longitude)
const errorHandler = (errorObj) =>
alert(errorObj.code + ": " + errorObj.message);
const getLocation = () =>
navigator.geolocation.getCurrentPosition(
successHandler,
errorHandler,
enableHighAccuracy: true,
maximumAge: 10000
);
【讨论】:
如果我先在我的设备上打开 GPS 就可以了。但如果 GPS 关闭,它应该提醒用户是否要共享位置。 如果您已经拒绝或接受,则不会。在chrome上,你可以点击地址栏左侧的锁并重置权限以上是关于地理定位在笔记本电脑上工作,但不在智能手机上的主要内容,如果未能解决你的问题,请参考以下文章