如何使用Xamarin android从c#调用Javascript方法时指定Javascript路径

本文关键字:Javascript 方法 路径 调用 Xamarin 何使用 android | 更新日期: 2023-09-27 18:12:57

我有这个Xamarin Android项目,我需要从c#调用Javascript方法。方法的名称是"drawMap"。我使用了下面的技巧来调用这个方法。

webView.EvaluateJavascript(string.Format("mapDraw(" + ConvertToRadians(degree) + ")"), null);

但是这个MainActivity类是在项目的根和Javascript类是在Views-> test.js。如何设置路径在类中查找这个方法?

以下代码存在于RazorView中。cshtml文件。

 $(document).ready(function () {
     function mapDraw(radValue) {
            var updatedPoint = mapImg.getMapCoordinates(currentPoint[0] + Math.sin(radValue), currentPoint[1] - Math.cos(radValue), false);
            console.log(currentPoint);
            console.log(updatedPoint);
            var line = new fabric.Line([currentPoint[0], currentPoint[1], currentPoint[0], currentPoint[1]], {
                stroke: 'red',
                originX: 'center',
                originY: 'center'
            });
            canvas.add(line);
            line.set({
                x2: updatedPoint[0],
                y2: updatedPoint[1]
            });
            canvas.renderAll();
            currentPoint = updatedPoint;
        }
 }

这个drawMap是我必须从c#中调用的方法

如何使用Xamarin android从c#调用Javascript方法时指定Javascript路径

你可以在WebView中通过LoadUrl方法调用JS,首先要确保你将Settings.JavaScriptEnabled的Enable设置为true。

WebView wv = FindViewById<WebView>(Resource.Id.webView1);
wv.Settings.JavaScriptEnabled = true;
wv.Settings.AllowFileAccess = true;
webview.LoadUrl("javascript:mapDraw('"" + ConvertToRadians(degree) + "'")");