我正在尝试将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函数和所需的更改。这不是最好的解决方案,但它有效。谢谢大家的帮助。
答案 0 :(得分:8)
你看起来很好。 Here is a sample project演示了几乎完全相同的语法。
答案 1 :(得分:5)
尝试更改webView.loadUrl("javascript:changeLocation( -0.1279688 ,51.5077286 );") ;
到webView.loadUrl("javascript:changeLocation( '-0.1279688' ,'51.5077286' );") ;
并且可能摆脱;
我遇到了类似的问题,我通过在参数周围添加''
来修复它。我的解决方案中没有分号,但它可以工作,因此您可能需要将其删除。