我正在尝试显示地图,该地图可以为地图上的多个区域设置动画百分比。但是javascript(在浏览器中有效)根本不显示任何动画或百分比。 webmpa.generateJs()生成javascript以设置百分比的动画,函数initialize用于绘制地图。
WebSettings settings = webView.getSettings();
settings.setAppCacheEnabled(true);
settings.setDomStorageEnabled(true);
settings.setDatabaseEnabled(true);
settings.setJavaScriptEnabled(true);
final WebMap webMap = new WebMap();
webView.addJavascriptInterface(webMap.getInterface(getActivity().getApplication(),this), "Android");
webView.setWebViewClient(new WebViewClient() {
public void onPageFinished(WebView view, String url) {
Log.d(TAG,webMap.generateJs());
webView.loadUrl("javascript:" + webMap.generateJs());
webView.loadUrl("javascript:initialize();");
}
});
webView.setLayerType(WebView.LAYER_TYPE_SOFTWARE, null);
webView.setBackgroundColor(Color.TRANSPARENT);
webView.loadUrl(MAP_URL);
答案 0 :(得分:1)
您必须使用WebChromeClient。
webView.setWebChromeClient(new WebChromeClient());
这可能有助于你
答案 1 :(得分:1)
只是添加Satish的答案,以防你使用proguard在项目的proguard文件中使用它:
-keepclassmembers class fqcn.of.javascript.interface.for.webview {
public *;
}