localhost上的getCurrentPosition()和watchPosition()

时间:2017-06-10 20:03:48

标签: ionic-framework

当我使用Chrome([Deprecation] getCurrentPosition() and watchPosition() no longer work on insecure origins. To use this feature, you should consider switching your application to a secure origin, such as HTTPS. win @ :8100/plugins/cordova-plugin-geolocation/www/android/geolocation.js:35 )运行本地主机时,我的Ionic应用中出现此错误:

Single

如何让它消失?

如何确定设备没有问题?

1 个答案:

答案 0 :(得分:0)

在浏览器中使用this plugin重试。

它允许您从任何来源请求任何带有Ajax的站点,无论http / https差异等。实际上在响应中添加了'Access-Control-Allow-Origin': '*'标题。

请记住,这是一种创可贴解决方案。您的服务器响应必须实际上具有*标头,最好具有比getCurrentPosition()更具体的值。

根据您的体系结构,切换到HTTPS可能会很痛苦或不可能, 我找到了一种解决方法:您可以使用Google Maps Geolocation API。虽然它有使用限制,但它可以完成这项工作。您将需要一个浏览器API密钥,因此不要忘记将其使用限制在您的页面主机名。

如果它失败,我将它用作getCurrentPosition()方法的回退方法。它允许我使其工作,直到我切换到HTTPS。

这是JSFiddles:

  • HTTPgetCurrentPosition()将失败并退回API
  • HTTPS:{{1}}将成功