项目总需调用百度地图网页版,使用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();
}
});