2013-11-15 71 views
0

我正在構建一個Android應用程序,我必須使用JavaScript來顯示地圖。 我正在使用加載存儲在資產文件夾中的HTML文件的WebView。如何將Java中的值傳遞給Javascript嵌入Android WebView

wv=(WebView)findViewById(R.id.webView1); 
    wvs=wv.getSettings(); 
    wv.setWebChromeClient(new WebChromeClient()); 
    wvs.setJavaScriptEnabled(true); 
    wv.addJavascriptInterface(new WebAppInterface(this), "Android"); 
    wv.loadUrl("file:///android_asset/android_index.html"); 

在此文件中,代碼使用JavaScript方法對地圖進行dislPays。 我必須將地圖居中(並添加一個針)到當前設備的位置。 做這些事情的方法正常工作,我得到正確的當前設備位置。 所以,我必須將座標傳遞給HTML文件中調用的JavaScript方法。

這裏的腳本行,我應該使用的座標:

jQuery(function ($) { 
     var map; 
     ... 
     map.setCenter(/*here latitude*/,/*here longtitude*/); 
     .. 
}); 

如何傳遞從Java到JavaScript的我從設備獲取值?

+0

請參閱http://stackoverflow.com/questions/9749900/webview-addjavascriptinterface-function-with-parameters。 – CSmith

回答

1

在Android 4.3及以下,並且在Android 4.4+與android:targetSdkVersion設置爲18或更低,呼籲loadUrl()WebView,具有javascript: URL,以同樣的方式,你設置的桌面OS一個書籤。

在Android 4.4及更高版本中,android:targetSdkVersion設置爲19或更高,請在WebView上使用新的evaluateJavaScript()方法。

+0

它工作正常!謝謝! – MikeKeepsOnShine

相關問題