【问题标题】:How to get geolocation working on crosswalk cordova如何在人行横道科尔多瓦上进行地理定位
【发布时间】:2018-07-25 17:09:04
【问题描述】:

您好,我正在使用谷歌最近地点 api 创建一个应用程序,这将使我能够显示某个位置周围最近的地点。

在普通网络浏览器或 chrome 移动浏览器上测试时,应用程序可以正常工作,如下图所示

Please click to view

我遇到的问题是,当我通过 inapp 浏览器或适用于 cordova 的 crosswalk webview 插件运行此 Web 应用程序时,我无法获取我当前的位置(地理定位工作)

请问我怎样才能让我的网络应用程序通过人行横道或 inappbrowser 使用地理位置获取其当前位置

我认为这是地理定位权限的问题,但我不知道如何解决这个问题

【问题讨论】:

    标签: cordova geolocation crosswalk


    【解决方案1】:

    如果这是由于地理定位权限丢失而导致的问题,您可以使用此插件检查是否有启用,要求用户启用它,检查您是否有使用地理定位的权限,如果没有,请向用户询问权限:

    https://github.com/dpa99c/cordova-diagnostic-plugin

    function isAuthorize() {
        cordova.plugins.diagnostic.isLocationAuthorized(function(authorized){
            if (authorized) {
                this.isEnabled();
            }
            else {
                // Do something whenuser don't allowed the localisation
            }
        }, function(error){
            console.error("The following error occurred: "+error);
        });
    }
    
    function isEnabled() {
        cordova.plugins.diagnostic.isLocationEnabled(function(enabled){
            if (enabled) {
                // Geolocation is enabled and you have permission to used it
            }
            else {
                // Geolocalisation is not enabled
                // Displays the device location settings to allow user to enable location services/change location mode.
                cordova.plugins.diagnostic.switchToLocationSettings();
            }
        }, function(error){
            console.error("The following error occurred: "+error);
        });
    }
    

    【讨论】:

    • 好的,谢谢你,但是当我在我的移动浏览器上测试网络应用程序时,我也注意到了这个问题,但是当我使用另一个移动浏览器(如 chrome)时,位置被拾取,这个问题可能是我的移动 webview 什么的?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多