如何在Android WebView 23+;中实现地理定位;?

如何在Android WebView 23+;中实现地理定位;?,android,google-maps-api-3,android-webview,google-geolocation,Android,Google Maps Api 3,Android Webview,Google Geolocation,我试图让地理定位在Android网络视图中工作,但没有任何效果;Geolocation在生产站点的浏览器上运行良好,但navigator.Geolocation.getCurrentPosition()始终返回空值 我相信这与WebView本身有关,因为已经为该应用程序授予了使用地理位置的权限 如何使地理定位在WebView中工作 这是我的WebView初始值设定项: protected void onCreate(Bundle savedInstanceState) { super

我试图让地理定位在Android网络视图中工作,但没有任何效果;Geolocation在生产站点的浏览器上运行良好,但navigator.Geolocation.getCurrentPosition()始终返回空值

我相信这与WebView本身有关,因为已经为该应用程序授予了使用地理位置的权限

如何使地理定位在WebView中工作

这是我的WebView初始值设定项:

  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    WebView myWebView = (WebView) findViewById(R.id.webview);
    client = new GoogleApiClient.Builder(this)
            .addApi(AppIndex.API)
            .addApi(LocationServices.API)
            .build();


    askForPermission(Manifest.permission.ACCESS_FINE_LOCATION,LOCATION);
    getSupportActionBar().hide();
    getSupportActionBar().setDisplayShowTitleEnabled(false);
    //getWindow().clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
    //getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
    //getWindow().setStatusBarColor(getResources().getColor(android.R.color.holo_red_dark));
    setContentView(R.layout.activity_main);


    myWebView.setWebViewClient(new GeoWebViewClient());

    myWebView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
    WebSettings webSettings = myWebView.getSettings();
    webSettings.setJavaScriptEnabled(true);
    webSettings.setDomStorageEnabled(true);
    myWebView.getSettings().setAppCacheEnabled(true);
    myWebView.getSettings().setDatabaseEnabled(true);
    myWebView.getSettings().setGeolocationEnabled(true);
    myWebView.getSettings().setPluginState(WebSettings.PluginState.ON);
    myWebView.getSettings().setMediaPlaybackRequiresUserGesture(false);
    myWebView.getSettings().setAllowFileAccess(true);
    myWebView.setWebChromeClient(new GeoWebChromeClient());
    myWebView.loadUrl("https://obscure-dusk-27124.herokuapp.com");

    if (!DetectConnection.checkInternetConnection(this)) {
        myWebView.loadUrl("about:blank");
    }


    myWebView.setWebChromeClient(new WebChromeClient(){
        // Need to accept permissions to use the camera
        @Override
        public void onPermissionRequest(final PermissionRequest request) {

            request.grant(request.getResources());
        }
    });

}