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();
}
});
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();
}
});
相关文章推荐
- Android 开发之 ---- 底层驱动开发(二)
- Android 开发之 ---- 底层驱动开发(一)
- iOS中 喷枪打字动画的实现
- iOS中 喷枪打字动画的实现
- 创建cocos2dx项目
- Android 中关于 【Cursor】 类的介绍
- Android Api Demos登顶之路(111)Views-->Seacure View
- iOS9新特性 window决定程序的状态栏管理问题
- 29When we call objective c is runtime language what does it mean?
- 28What are mutable and immutable types in Objective C?
- 26.Difference between protocol in objective c and interfaces in java?
- iOS开发——修复bug系列一objc-class-ref in UserSettingController.o
- Unity3D之AssetBundle资源加载封装
- 新手引导
- iOS9,导航控制器中的子控制器设置StatusBar状态失效的问题
- Android 关于“NetworkOnMainThreadException”出错提示的原因及解决办法
- Android笔记(四十四) Android中的数据存储——SQLite(六)整合
- iOS之富文本
- Android学习之保存 Activity 的状态
- Unity3DAssetBundle的坑