Web服务中的Web控件

时间:2010-09-07 12:55:17

标签: web-services google-maps web-controls

我需要在Webservice中使用Webcontrol(System.Windows.Forms.WebBrowser),因为我必须计算坐标之间的距离,为此我将使用Google Maps(地理编码器)。使用Webcontrol,我可以执行我的javascript代码来计算距离(WebControl.Document.InvokeScript)。

有没有办法在网络服务中获取web控件?或者还有另一种更简单的方法来完成我的任务吗?

1 个答案:

答案 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/