我需要在Webservice中使用Webcontrol(System.Windows.Forms.WebBrowser),因为我必须计算坐标之间的距离,为此我将使用Google Maps(地理编码器)。使用Webcontrol,我可以执行我的javascript代码来计算距离(WebControl.Document.InvokeScript)。
有没有办法在网络服务中获取web控件?或者还有另一种更简单的方法来完成我的任务吗?
答案 0 :(得分:0)
Geocoding API不仅可以通过JavaScript工作。您也可以使用URL get请求来请求json或xml响应,而不是JavaScript。 (见https://developers.google.com/maps/documentation/geocoding/#GeocodingResponses)例如:
http://maps.googleapis.com/maps/api/geocode/xml?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&sensor=false
我是这样做的:
System.Xml.XmlDocument document = new XmlDocument();
//Request XML through Google API
document.Load("http://maps.googleapis.com/maps/api/geocode/xml?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&sensor=false");
//Parse output
XmlNodeList latNodeList = document.GetElementsByTagName("lat");
XmlNodeList lngNodeList = document.GetElementsByTagName("lng");
String lat = latNodeList.Item(0).InnerText;
String lng = lngNodeList.Item(0).InnerText;
但是,根据您的需要(计算距离),我认为Google Distance Matrix API是您正在寻找的东西。 (https://developers.google.com/maps/documentation/distancematrix/)