最近做Android定位开发,得到经纬度后使用Geocoder来获取地址,发现Geocoder有时不知什么原因无法通过经纬度获取到地址信息,因此通过http进行地址解析,这就得使用GoogleGeocoding API了(http://code.google.com/intl/zh-CN/apis/maps/documentation/geocoding/#StatusCodes),格式如下:
http://maps.google.com/maps/api/geocode/json?latlng=39.9727642,116.3753401&sensor=true
在浏览器中返回的结果正常,得到的地址也是中文的,但是开发时直接使用上面的链接用HttpGet得到的结果却是英文的,不知何解。
后面细看了API文档,原来是可以进行语言设定的,在代码中在路径后面加上language=zh-CN得到的就是中文了。
http://maps.google.com/maps/api/geocode/json?latlng=39.9727642,116.3753401&sensor=true&language=en
由于浏览器有语言自动识别功能,所以不加language参数也能得到正确的语言,但是代码里得加上这个参数,否则返回的是默认的英语。