Вопрос

Я пытаюсь передать 2 параметра в функцию JavaScript. Этот код webview.loadUrl("javascript: function_to_call();"); работает нормально без параметров, но я не мог использовать его с параметрами.

Это JavaScript Junction:

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 с желаемыми изменениями каждый раз, когда мне нужно. Это не лучшее решение, но это работает. Спасибо всем за вашу помощь.

Это было полезно?

Решение

То, что у вас есть, выглядит нормально. Вот пример проекта Это демонстрирует почти идентичный синтаксис.

Другие советы

Попробуйте измениться webView.loadUrl("javascript:changeLocation( -0.1279688 ,51.5077286 );") ;

к webView.loadUrl("javascript:changeLocation( '-0.1279688' ,'51.5077286' );") ;И, может быть, избавиться от ;

У меня только что была похожая проблема, и я исправил ее, добавив '' вокруг моего параметра. У меня тоже не было полуколона в моем решении, и это сработало, поэтому вам может потребоваться удалить его.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top