我在Ionic应用程序中使用cordova地理定位插件。 当我在模拟器中运行应用程序时,我发现此错误仅允许安全来源。 因此无法获得内部模拟器的地理位置。 但是使用locahost它可以正常工作,可能localhost来自安全源。
浏览器即时使用是chrome。 插件https://ionicframework.com/docs/native/geolocation/
答案 0 :(得分:4)
此问题已打开问题 https://github.com/ionic-team/ng-cordova/issues/1413
不推荐使用不安全(HTTP)上下文来访问用户的位置。请参阅https://www.chromium.org/Home/chromium-security/prefer-secure-origins-for-powerful-new-features。
在localhost上运行dev服务器应该可以正常工作。
答案 1 :(得分:0)
对于私有IP地址访问,最新的Firefox似乎可以立即使用(版本47.0及更高版本)。如果不起作用,请转到about:config并将media.navigator.permission.disabled设置为false。它也适用于android。
答案 2 :(得分:0)
问题是Android的默认Web视图方案为:http://localhost 地理位置插件不接受“ http:// ...”作为位置请求的来源。 在iOS上它可以工作,因为默认方案是ionic:// localhost
在config.xml文件中将Android方案设置为“ https”:
<preference name="Scheme" value="https" />
注意:必须允许新方案的导航:
<allow-navigation href="https://*"/>
其他Web视图配置: https://github.com/ionic-team/cordova-plugin-ionic-webview