如何使用带有wp7的GPS获取地址名称

我可以使用GeoCoordinateWatcher类在Windows Phone 7上获取当前的GPS坐标,如msdn所示,我只能获得纬度经度值,但我想得到该位置的地址。 在市场上有一个名为“我在哪里”的免费应用程序,它也显示了地址名称,所以我认为它是可能的。
我是怎么做到的?

您可以使用Google或Yahoo API

http://maps.google.com/maps/geo?q=20.0,2.0&output=json&oe=utf8&sensor=true&key= YOURKEY

http://where.yahooapis.com/geocode?q=20.0,2.0&flags=J&gflags=R&appid=YOURKEY

以下是Google的json回复示例

{ "name": "20.00,2.00", "Status": { "code": 200, "request": "geocode" }, "Placemark": [ { "id": "p1", "address": "Adrar des Ifôghas, Mali", "AddressDetails": { "Accuracy": 0, "AddressLine": [ "Adrar des Ifôghas" ] }, "ExtendedData": { "LatLonBox": { "north": 22.6604651, "south": 17.2938071, "east": 6.0979005, "west": -2.0979005 } }, "Point": { "coordinates": [ 2, 20, 0 ] } } ] } 

编辑

您可以使用WebClient获取结果

 WebClient w = new WebClient(); string page = w.DownloadString(url); 

以下是解析Json结果的示例

Google Maps v3地理编码服务器端

寻找带有JSON客户端库的REST