html5地理定位好像在电脑上用不了了,只能在手机上通过gps定位,ip定位是否被屏蔽了?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了html5地理定位好像在电脑上用不了了,只能在手机上通过gps定位,ip定位是否被屏蔽了?相关的知识,希望对你有一定的参考价值。
最近在学html5,试了w3school上的例子,发现没反应。期待回答,谢谢
定位当然只能在手机上了。因为有GPS。电脑是定位不了的。
并且HTML5这个不是很精准,我们做过,误差也有几千米左右。追问
之前也能通过网络定位的,不用gps。就像手机上的基站定位,不用开gps都能用
参考技术A HTML5的geolocation属性石可以再电脑上用的,但是需要设置一下chrome的属性地理定位在笔记本电脑上工作,但不在智能手机上
【中文标题】地理定位在笔记本电脑上工作,但不在智能手机上【英文标题】: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上,你可以点击地址栏左侧的锁并重置权限以上是关于html5地理定位好像在电脑上用不了了,只能在手机上通过gps定位,ip定位是否被屏蔽了?的主要内容,如果未能解决你的问题,请参考以下文章