首页 文章

Google Maps API - 浏览器始终询问位置

提问于
浏览
2

我们正在使用AngularJS和Google Maps API实施网站 . 用户可以输入关键字,然后重定向到新页面,其中包含带有多个标记的 Map (表示结果) . 在此结果页面上,浏览器始终询问用户位置 . 当用户选择“拒绝”时, Map 会跳转到位置0,0(海中的某个地方) .

  • 是否可以阻止浏览器位置检查?

  • 如果没有,是否有可以捕获的事件,所以我可以更改 Map 跳转到的位置?

Airbnb.com也使用Google Map ,浏览器从不询问用户位置 .

有什么建议吗?

1 回答

  • 4

    是否可以阻止浏览器位置检查?

    不,出于明显的安全原因,无法从JavaScript禁用此检查 . 但是,用户可以“记住”允许从Chrome访问位置的选项 .

    如果没有,是否有可以捕获的事件,所以我可以更改 Map 跳转到的位置?

    您可以使用 function showError(error) { switch (error.code) { case error.PERMISSION_DENIED: x.innerHTML = "User denied the request for Geolocation." break; case error.POSITION_UNAVAILABLE: x.innerHTML = "Location information is unavailable." break; case error.TIMEOUT: x.innerHTML = "The request to get user location timed out." break; case error.UNKNOWN_ERROR: x.innerHTML = "An unknown error occurred." break; } } 执行 navigator.geolocation.getCurrentPosition(showPosition,showError); 之类的操作

    编辑:对于AirBnB的事情,可以通过IP地址使用另一种类型的地理定位,这不需要任何许可,但缺乏精确性 . 有关IP地理定位的详细信息,请参阅thread

相关问题