2016-06-28 80 views
5

Sto provando a mostrare una mappa che anima le percentuali per diverse aree sulla mappa. Ma il javascript (che funziona nel browser) non mostra alcuna animazione o percentuale. Il webmpa.generateJs() genera il javascript per animare le percentuali e la funzione initialize viene utilizzata per disegnare la mappa.Android WebView non mostra animazione javascript

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); 

risposta

1

È necessario utilizzare WebChromeClient per il proprio scopo.

webView.setWebChromeClient(new WebChromeClient()); 

Questo serve aiuta

+0

Esso mostra ancora i numeri sulla carta geografica. Dovrei modificare/cancellare qualcos'altro? – Stefan

1

Giusto per aggiungere alla risposta di Satish, nel caso in cui si sta utilizzando l'uso Proguard questo nel file di Proguard del progetto:

-keepclassmembers class fqcn.of.javascript.interface.for.webview { 
    public *; 
}