2010-09-07 3 views
1

J'ai besoin d'un WebControl (System.Windows.Forms.WebBrowser) dans mon Webservice, car je dois calculer les distances entre les coordonnées et pour cela j'utiliserai Google Maps (geocoder). Avec le Webcontrol je pourrais exécuter mon code javascript pour calculer la distance (WebControl.Document.InvokeScript).Webcontrol dans Webservice

Existe-t-il un moyen d'obtenir un contrôle Web dans un service Web? Ou y a-t-il un autre moyen plus facile d'accomplir ma tâche?

Répondre

0

L'API de géocodage ne fonctionne pas uniquement via JavaScript. Au lieu de JavaScript, vous pouvez également demander une réponse json ou xml en utilisant l'URL get request. (Voir https://developers.google.com/maps/documentation/geocoding/#GeocodingResponses) Par exemple:

http://maps.googleapis.com/maps/api/geocode/xml?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&sensor=false 

Voici comment je l'ai fait:

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; 

Toutefois, en fonction de ce que vous voulez (calculer la distance) Je pense que Google API Distance Matrix est quelque chose que vous cherchez pour. (https://developers.google.com/maps/documentation/distancematrix/)