Android地图获取详细街道地址信息 精确定位


        Android地图开发实际应用中,经常会通过地图定位判断手机用户是哪个城市的,然后根据城市的不同调取不同的数据,或者是地图定位之后,会在手机界面中显示用户的详细位置,如石家庄市中山北国商城。

        那么这些信息如何获得?   详细研究过Android MapView的可能用到Geocoder这个对象。详细代码如下:

       


Geocoder geocoder=new Geocoder(this, Locale.getDefault());
				try {
					List
addresses=geocoder.getFromLocation(latitude, longitude, 1); StringBuilder stringBuilder=new StringBuilder(); if(addresses.size()>0){ Address address=addresses.get(0); for(int i=0;i

 

坑爹呀,怎么执行都异常 ,真机测试还异常,  有说android 2.xx版本不能用,不管怎么样,这个不好用。

看谷歌另一种方法:

Google Geocoding API

,定会让你眼前一亮。

 

详细地址:http://code.google.com/intl/zh-CN/apis/maps/documentation/geocoding/

 

根据坐标查找详细信息,也就是本篇所说的,请看  反向地址解析(地址查询)

请求地址:http://maps.google.com/maps/api/geocode/json?latlng=40.714224,-73.961452&sensor=true  

注意坐标 (纬度,经度)不要传反了

经实例测试,发现两个问题 1,读取json很慢;2,返回地址信息是英文【有时页面直接访问是中文,模拟器中是英文】

解决办法:

1,将请求地址:google.com 改为 google.cn

2,在请求地址后边再加一个参数language=zh-CN  [ 不知道为什么官网不给详细一点 ]

 


 

你可能感兴趣的:(android)