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定位是否被屏蔽了?的主要内容,如果未能解决你的问题,请参考以下文章

手机/电脑的定位方式

手机高德地图定位不了怎么办定位失败解决办法

地理定位在笔记本电脑上工作,但不在智能手机上

Html5 地理定位精度非常高

HTML5调用百度地图API进行地理定位实例

使用 html5 进行地理定位