如何使用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#中调用的方法
你可以在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) + "'")");