3

2 つのパラメーターを JavaScript 関数に渡そうとしています。このコードwebview.loadUrl("javascript: function_to_call();");はパラメーターなしで正常に動作しますが、パラメーターを使用することはできませんでした。

これはjavascriptジャンクションです:

function changeLocation(_lon , _lat){
    var zoom=16;
    var lonLat = new OpenLayers.LonLat( _lon , _lat ).transform(         
        new OpenLayers.Projection("EPSG:4326"), 
        map.getProjectionObject());

    map.setCenter (lonLat, zoom);
}

そして、これは私がJavaからそれを呼び出す方法です:

webView.loadUrl("javascript:changeLocation( -0.1279688 ,51.5077286 );") ;

編集:問題を見つけることができず、アプローチを変更しました。必要なときに毎回、必要な変更を加えて JavaScript 関数全体を注入しています。これは最善の解決策ではありませんが、機能します。皆様、ご協力ありがとうございました。

4

2 に答える 2

8

あなたが持っているものはうまく見えます。以下は、ほぼ同じ構文を示すサンプル プロジェクトです。

于 2010-11-16T16:19:36.257 に答える
6

変更してみるwebView.loadUrl("javascript:changeLocation( -0.1279688 ,51.5077286 );") ;

webView.loadUrl("javascript:changeLocation( '-0.1279688' ,'51.5077286' );") ; 、おそらく取り除く;

同様の問題が発生したばかりで''、パラメーターの周りに を追加して修正しました。私のソリューションにもセミコロンはありませんでしたが、うまくいったので削除する必要があるかもしれません。

于 2012-07-26T19:26:32.327 に答える