在 C# 中创建一个 java 脚本函数
Create a java script function in c#
我正在开发一个 winform 应用程序,我想使用 google api v3 来计算多边形的重心。我的数据库中有 lng 和 lat。
我想在 c# 中调用 java 脚本函数我是新手,但我发现使用 HtmlElement 可以帮助我做到这一点这是我尝试过的代码,它没有给出任何结果。
WebBrowser webBrowser1 = new WebBrowser();
string url = ("C:\Users/guenafai/Desktop/TOPApplication/TOPApplication/BaryScripts.htm");
Console.WriteLine("je suis laaaaaaaaaaaa");
webBrowser1.Navigate(url);
HtmlElement head = webBrowser1.Document.CreateElement("head");
HtmlElement scriptEl = webBrowser1.Document.CreateElement("script");
scriptEl.SetAttribute("src","https://maps.googleapis.com/maps/api/js?key=AIzaSyAXBy6YDvNZOu0TK2RkrDmbNEbN3gn1sVk");
IHTMLScriptElement element = (IHTMLScriptElement)scriptEl.DomElement;
string script = @"
function BaryC(){
var boundss = new google.maps.LatLngBounds();
var i;
var polygonCoords = [";
foreach (CONTRACT c in Clus)
{
script = script + @"
new google.maps.LatLng(" + 45.501689 + "," + -73.567256 + @"),"
}
script = script + @"new google.maps.LatLng(" + 45.501689 + "," + -73.567256 + @")];
for (i = 0; i < polygonCoords.length; i++) {
boundss.extend(polygonCoords[i]);
}
var lat = boundss.getCenter().lat() ;
var lng = boundss.getCenter().lng();
return boundss.getCenter().toString() ;
}";
Console.WriteLine(script);
element.text = script;
head.AppendChild(scriptEl);
string onclickstring = (string)webBrowser1.Document.InvokeScript("BaryC");
Console.WriteLine(onclickstring);
我正在开发一个 winform 应用程序,我想使用 google api v3 来计算多边形的重心。我的数据库中有 lng 和 lat。 我想在 c# 中调用 java 脚本函数我是新手,但我发现使用 HtmlElement 可以帮助我做到这一点这是我尝试过的代码,它没有给出任何结果。
WebBrowser webBrowser1 = new WebBrowser();
string url = ("C:\Users/guenafai/Desktop/TOPApplication/TOPApplication/BaryScripts.htm");
Console.WriteLine("je suis laaaaaaaaaaaa");
webBrowser1.Navigate(url);
HtmlElement head = webBrowser1.Document.CreateElement("head");
HtmlElement scriptEl = webBrowser1.Document.CreateElement("script");
scriptEl.SetAttribute("src","https://maps.googleapis.com/maps/api/js?key=AIzaSyAXBy6YDvNZOu0TK2RkrDmbNEbN3gn1sVk");
IHTMLScriptElement element = (IHTMLScriptElement)scriptEl.DomElement;
string script = @"
function BaryC(){
var boundss = new google.maps.LatLngBounds();
var i;
var polygonCoords = [";
foreach (CONTRACT c in Clus)
{
script = script + @"
new google.maps.LatLng(" + 45.501689 + "," + -73.567256 + @"),"
}
script = script + @"new google.maps.LatLng(" + 45.501689 + "," + -73.567256 + @")];
for (i = 0; i < polygonCoords.length; i++) {
boundss.extend(polygonCoords[i]);
}
var lat = boundss.getCenter().lat() ;
var lng = boundss.getCenter().lng();
return boundss.getCenter().toString() ;
}";
Console.WriteLine(script);
element.text = script;
head.AppendChild(scriptEl);
string onclickstring = (string)webBrowser1.Document.InvokeScript("BaryC");
Console.WriteLine(onclickstring);