안드로이드에서 웹뷰로 지도를 띄울때 현재위치를 잡지 못합니다

안녕하세요.
안드로이드에서 웹뷰로 지로를 띄우려고 합니다.
그런데 현재위치를 받아와서 이동하는데 웹환경에서는 잘됩니다만 안드로이드에 웹뷰로 올린상태로는 현재위치를 받아오지 못해 질문드려요.

package com.pharmacy.pharmacystock;

import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;

import android.Manifest;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Bundle;
import android.view.KeyEvent;
import android.webkit.GeolocationPermissions;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;

import java.net.URISyntaxException;

public class MainActivity extends AppCompatActivity {
private WebView mWebView; // 웹뷰 선언
private WebSettings mWebSettings; //웹뷰세팅


private static final int MY_PERMISSION_REQUEST_LOCATION = 0;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    // 웹뷰 시작
    mWebView = (WebView) findViewById(R.id.webview1);
}
    private void initWebView(){

    mWebView.setWebViewClient(new WebViewClient());  // 새로운 창을 띄우지 않고 내부에서 웹뷰를 실행시킨다.

    mWebView.getSettings().setGeolocationEnabled(true);




  //  mWebView.setWebChromeClient(new WebChromeClient()); // 클릭시 새창 안뜨게
    mWebSettings = mWebView.getSettings(); //세부 세팅 등록
    mWebSettings.setJavaScriptEnabled(true); // 웹페이지 자바스클비트 허용 여부
    mWebSettings.setSupportMultipleWindows(false); // 새창 띄우기 허용 여부
    mWebSettings.setJavaScriptCanOpenWindowsAutomatically(false); // 자바스크립트 새창 띄우기(멀티뷰) 허용 여부
    mWebSettings.setLoadWithOverviewMode(true); // 메타태그 허용 여부
    mWebSettings.setUseWideViewPort(true); // 화면 사이즈 맞추기 허용 여부
    mWebSettings.setSupportZoom(false); // 화면 줌 허용 여부
    mWebSettings.setBuiltInZoomControls(false); // 화면 확대 축소 허용 여부
    mWebSettings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN); // 컨텐츠 사이즈 맞추기
    mWebSettings.setCacheMode(WebSettings.LOAD_NO_CACHE); // 브라우저 캐시 허용 여부
    mWebSettings.setDomStorageEnabled(true); // 로컬저장소 허용 여부

    mWebView.setWebChromeClient(new WebChromeClient(){
        @Override
        public void onGeolocationPermissionsShowPrompt(String origin, GeolocationPermissions.Callback callback) {
            super.onGeolocationPermissionsShowPrompt(origin, callback);
            callback.invoke(origin, true, false);
        }
    });




    mWebView.loadUrl("https://suwon-pharmacy.tistory.com"); // 웹뷰에 표시할 웹사이트 주소, 웹뷰 시작
}


private void permissionCheck(){
    if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED){
        //Manifest.permission.ACCESS_FINE_LOCATION 접근 승낙 상태 일때
         initWebView();
    } else{
        //Manifest.permission.ACCESS_FINE_LOCATION 접근 거절 상태 일때 //사용자에게 접근권한 설정을 요구하는 다이얼로그를 띄운다.
        ActivityCompat.requestPermissions(this,new String[]{Manifest.permission.ACCESS_FINE_LOCATION},MY_PERMISSION_REQUEST_LOCATION);
    }
}

@Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
    super.onRequestPermissionsResult(requestCode, permissions, grantResults);
    if(requestCode == MY_PERMISSION_REQUEST_LOCATION){
        initWebView();
    }
}

}

여러 글을 참고하여 편집하였으나 웹뷰도 뜨지않게되고 흰화면만 나오게됩니다.

웹에서는 현재 좌표를 아래 코드로 받아옵니다.

if (navigator.geolocation) { // GPS를 지원하면
navigator.geolocation.getCurrentPosition(function(position) {
	
 // alert(position.coords.latitude + ' ' + position.coords.longitude);
		  var moveLatLon = new kakao.maps.LatLng(position.coords.latitude, position.coords.longitude);

초보개발자입니다. 아시는 분은 꼭 답글 부탁드립니다.

현재 수정하여 화면도 뜨고 권한체크까지 되지만 여전히 웹뷰안에서 현재위치를 찾지 못합니다…

package com.pharmacy.pharmacystock;

import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;

import android.Manifest;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Bundle;
import android.view.KeyEvent;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Toast;

import java.net.URISyntaxException;

public class MainActivity extends AppCompatActivity {
private WebView mWebView; // 웹뷰 선언
private WebSettings mWebSettings; //웹뷰세팅


private final int My_ACCESS_FINE_LOCATION=0;




@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    int permssionCheck = ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION);

    if (ContextCompat.checkSelfPermission(this,
            Manifest.permission.ACCESS_FINE_LOCATION)
            != PackageManager.PERMISSION_GRANTED) {

        if (ActivityCompat.shouldShowRequestPermissionRationale(this,
                Manifest.permission.ACCESS_FINE_LOCATION)) {
        } else {
            ActivityCompat.requestPermissions(this,
                    new String[]{Manifest.permission.ACCESS_FINE_LOCATION},
                    My_ACCESS_FINE_LOCATION);
        }
    }





    // 웹뷰 시작
    mWebView = (WebView) findViewById(R.id.webview1);
    mWebView.setWebViewClient(new WebViewClient());  // 새로운 창을 띄우지 않고 내부에서 웹뷰를 실행시킨다.



    //  mWebView.setWebChromeClient(new WebChromeClient()); // 클릭시 새창 안뜨게
    mWebSettings = mWebView.getSettings(); //세부 세팅 등록
    mWebSettings.setJavaScriptEnabled(true); // 웹페이지 자바스클비트 허용 여부
    mWebSettings.setSupportMultipleWindows(false); // 새창 띄우기 허용 여부
    mWebSettings.setJavaScriptCanOpenWindowsAutomatically(false); // 자바스크립트 새창 띄우기(멀티뷰) 허용 여부
    mWebSettings.setLoadWithOverviewMode(true); // 메타태그 허용 여부
    mWebSettings.setUseWideViewPort(true); // 화면 사이즈 맞추기 허용 여부
    mWebSettings.setSupportZoom(false); // 화면 줌 허용 여부
    mWebSettings.setBuiltInZoomControls(false); // 화면 확대 축소 허용 여부
    mWebSettings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN); // 컨텐츠 사이즈 맞추기
    mWebSettings.setCacheMode(WebSettings.LOAD_NO_CACHE); // 브라우저 캐시 허용 여부
    mWebSettings.setDomStorageEnabled(true); // 로컬저장소 허용 여부
    mWebView.getSettings().setGeolocationEnabled(true);



    mWebView.loadUrl("https://suwon-pharmacy.tistory.com"); // 웹뷰에 표시할 웹사이트 주소, 웹뷰 시작
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {//뒤로가기 버튼 이벤트
    if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()) {//웹뷰에서 뒤로가기 버튼을 누르면 뒤로가짐
        mWebView.goBack();
        return true;
    }
    return super.onKeyDown(keyCode, event);
}
@Override
public void onRequestPermissionsResult(int requestCode,
                                       String permissions[], int[] grantResults) {
    switch (requestCode) {
        case My_ACCESS_FINE_LOCATION: {
            // If request is cancelled, the result arrays are empty.
            if (grantResults.length > 0
                    && grantResults[0] == PackageManager.PERMISSION_GRANTED) {

                Toast.makeText(this,"승인이 허가되어 있습니다.",Toast.LENGTH_LONG).show();

            } else {
                Toast.makeText(this,"아직 승인받지 않았습니다.", Toast.LENGTH_LONG).show();
            }
            return;
        }

    }
}



private class WebViewClientClass extends WebViewClient {//페이지 이동
    @Override

    public boolean shouldOverrideUrlLoading(WebView view, String url) {

        if (url != null && url.startsWith("intent://")|| url.startsWith("coupang://")) {
            try {
                Intent intent = Intent.parseUri(url, Intent.URI_INTENT_SCHEME);
                Intent existPackage = getPackageManager().getLaunchIntentForPackage(intent.getPackage());
                if (existPackage != null) {
                    mWebView.getContext().startActivity(intent);
                } else {
                    Intent marketIntent = new Intent(Intent.ACTION_VIEW);
                    marketIntent.setData(Uri.parse("market://details?id="+intent.getPackage()));
                    mWebView.getContext().startActivity(marketIntent);
                }
                return true;
            }catch (Exception e) {
                e.printStackTrace();
            }
        } else if (url != null && url.startsWith("market://")) {
            try {
                Intent intent = Intent.parseUri(url, Intent.URI_INTENT_SCHEME);
                if (intent != null) {
                    mWebView.getContext().startActivity(intent);
                }
                return true;
            } catch (URISyntaxException e) {
                e.printStackTrace();
            }
        }
        view.loadUrl(url);
        return false;




    }
}
}

현위치를 잡는 부분은 카카오 API 에서 처리하는 것이 아니라 도움을 드리기가 어렵습니다.

android webview geolocation 등으로 구글링해보시면 도움이 될 듯합니다.

혹시 해결하셨나요?
저도 같은 문제를 겪고있어서요.