您的位置:首页 > 移动开发

webView调用百度地图的定位问题

2015-10-29 08:39 465 查看
        项目总需调用百度地图网页版,使用webView加载:

webView.getSettings().setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN);

webView.getSettings().setDefaultTextEncodingName("utf-8");// 避免中文乱码
webView.setScrollBarStyle(0);
webView.setHorizontalScrollBarEnabled(false);// 水平不显示
webView.setVerticalScrollBarEnabled(false); // 垂直不显示
WebSettings webSetting = webView.getSettings();

webSetting.setJavaScriptEnabled(true);
webView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
webSetting.setUseWideViewPort(true);// 设置是当前html界面自适应屏幕
webSetting.setCacheMode(WebSettings.LOAD_DEFAULT| WebSettings.LOAD_CACHE_ELSE_NETWORK);
webSetting.setNeedInitialFocus(false);
webView.setBackgroundColor(Color.TRANSPARENT);// 设置其背景为透明
webSetting.setDomStorageEnabled(true); //显示全景的问题

//启用数据库  
webSetting.setDatabaseEnabled(true);    

//设置定位的数据库路径  
String dir = this.getApplicationContext().getDir("database", this.MODE_PRIVATE).getPath(); 

webSetting.setGeolocationDatabasePath(dir);   

//启用地理定位  
webSetting.setGeolocationEnabled(true);  

webView.setWebChromeClient(new WebChromeClient(){
@Override
public void onReceivedIcon(WebView view, Bitmap icon) {
super.onReceivedIcon(view, icon);
}

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

webView.setWebViewClient(new WebViewClient()  

        {  

            @Override  

            public void onPageFinished(WebView view,String url)  

            {  

                loading.dismiss();  

            }  

            @Override

            public void onReceivedError(WebView view, int errorCode,String description, String failingUrl) {

            super.onReceivedError(view, errorCode, description, failingUrl);

            loading.dismiss();  

            }

        });
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: