我有一个aspx页面已经集成了谷歌地图api并且可以显示谷歌地图,然后我想在android webview中显示它,但webview无法显示谷歌地图。 这个aspx页面可以在android浏览器中完美运行。
这是Logcat打印:
I / chromium:[INFO:CONSOLE(210)]“Google Maps API警告:NoApiKeys https://developers.google.com/maps/documentation/javascript/error-messages#no-api-keys”,来源:http://maps.google.com/maps-api-v3/api/js /25/11/util.js(210)
I / chromium:[INFO:CONSOLE(210)]“Google Maps API警告:SensorNotRequired https://developers.google.com/maps/documentation/javascript/error-messages#sensor-not-required”,来源:http://maps.google.com/maps-api-v3/api/js /25/11/util.js(210)
以下是有关设置webview的代码:
webView.getSettings().setJavaScriptEnabled(true);//
webView.getSettings().setGeolocationEnabled(true);//
webView.getSettings().setAllowFileAccess(true);
webView.getSettings().setDomStorageEnabled(true);//
webView.getSettings().setDatabaseEnabled(true);//
webView.getSettings().setPluginState(WebSettings.PluginState.ON);
webView.getSettings().setBuiltInZoomControls(true);
webView.getSettings().setDefaultZoom(WebSettings.ZoomDensity.FAR);
webView.getSettings().setBlockNetworkImage(false);
webView.getSettings().setBlockNetworkLoads(false);
String dir = this.getApplicationContext().getDir("database", Context.MODE_PRIVATE).getPath();
webView.getSettings().setGeolocationDatabasePath(dir);
答案 0 :(得分:0)
根据您的代码,我无法找到加载给定loadUrl
的{{1}}。
兼容性说明。针对URL
或更高版本的应用程序,来自空WebView的JavaScript状态不再在loadUrl
等导航中保留。例如,在加载的页面中不存在调用loadUrl(String)之前定义的全局变量和函数。应用程序应使用[N
](https://developer.android.com/reference/android/webkit/WebView.html#addJavascriptInterface(java.lang.Object,java.lang.String))来代替跨导航持久化JavaScript对象。
要在您自己的Activity中提供WebView,请在布局中包含a,或者在onCreate()期间将整个Activity窗口设置为WebView:
addJavascriptInterface(Object, String)
然后加载所需的网页:
WebView webview = new WebView(this);
setContentView(webview);
答案 1 :(得分:0)
只需在webView.getSettings()。setJavaScriptEnabled(true); //
之后添加此行webview.setWebViewClient(new WebViewClient());