谷歌地图 编码器的.NET API

分享于 

2分钟阅读

Web开发

  繁體 雙語

介绍

谷歌地图 允许你通过它们的JavaScript API编码地址,或者直接调用 http://maps.google.com/maps/geo?output=xml&key=yourkey&q=someaddress 以在XML中。 这两种方法都需要花时间集成到. NET 代码中。 我将HTTP编码请求的功能封装到. NET 库中,从而使生活变得更加简单。

使用代码

可以调用一个只获取单个 string 中的所有 XML:

string xml = GMapGeocoder.Util.GetXml("123 fake street", "your google map key");

你还可以在原始对象结构中获取代码:

string xml = GMapGeocoder.Util.GetXml("123 fake street", "your google map key");
GMapGeocoder.Generated.kml kml = GMapGeocoder.Util.DeserializeXml(xml);string fullAddress = kml.Response.Placemark[0].address;string countryCode = kml.Response.Placemark[0].AddressDetails.Country.CountryNameCode;string stateCode = kml.Response.Placemark[0].AddressDetails.Country.
 AdministrativeArea.AdministrativeAreaName;

对于我们的地址,下面的调用应该比上面的kml对象更有意义:

GMapGeocoder.Containers.Results results = 
 GMapGeocoder.Util.Geocode("123 fake street", "your google map key");
GMapGeocoder.Containers.USAddress match1 = results.Addresses[0];string city = match1.City;string state = match1.StateCode;double lat = match1.Coordinates.Latitude;

Points of Interest

我没有找到确切的XML定义,所以我根据Google上的文档编写XSD文件,以及我发现的结果。 为了错误和代码需要重新生成,我只包含了XSD文件。 我还注意到 GetXml 调用使用的HttpWebRequest.GetResponse() 在来自应用程序的初始调用中慢,但是后续调用要快得多。

历史记录

  • 27th 2008年05月: 初始帖子
  • 24th 2008年06月: 文章已经更新

API  GEO  Google地图  Geocode  
相关文章