您的位置:首页 > 移动开发 > Android开发

android开发之定位,获取行政区划的实现

2015-03-19 16:27 627 查看
在android开发过程中,定位的实现是必不可少的,android自家的定位有时好使,有时不好使,百度地图的太繁琐,下面我介绍高德地图API的定位实现,我在自己的小应用中顺便还用了一下高德地图的行政区划的搜索实现 (行政区划:就是你输入一个省,你想得到当前省包含哪些市,县,区等等)

下面是自动定位的实现 需要高德官网的Android_Location_V1.3.1.jar这个包

private LocationManagerProxy mLocationManagerProxy;
/**
* 初始化定位
*/
private void init() {
mLocationManagerProxy = LocationManagerProxy.getInstance(getActivity());
mLocationManagerProxy.requestLocationData(
LocationProviderProxy.AMapNetwork, 60 * 1000, 15,
new AMapLocationListener() {

@Override
public void onStatusChanged(String provider, int status,
Bundle extras) {
// TODO Auto-generated method stub
}

@Override
public void onProviderEnabled(String provider) {
// TODO Auto-generated method stub
}

@Override
public void onProviderDisabled(String provider) {
// TODO Auto-generated method stub
}

@Override
public void onLocationChanged(
android.location.Location location) {
// TODO Auto-generated method stub
}

@Override
public void onLocationChanged(AMapLocation amapLocation) {
// TODO Auto-generated method stub
if (amapLocation != null
&& amapLocation.getAMapException()
.getErrorCode() == 0
&& isLocated == false) {
isLocated = true;
loca[0] = amapLocation.getCity();
getWeather[0].setCity(loca[0]);//获取当前定位的城市
//除了能获取城市,还能结合行政区划获得街道等等信息
}
}
});
mLocationManagerProxy.setGpsEnable(false);
}


下面是高德地图获取行政区划实现 需要AMap_Services_V2.3.1.jar这个包,可以到高德官网下载
DistrictSearchQuery districtSearchQuery;
DistrictSearch districtSearch;
//换成自己的activity
districtSearch = new DistrictSearch(XXXXActivity.this);//中国可以换成省,市都行
districtSearchQuery = new DistrictSearchQuery("中国",
DistrictSearchQuery.KEYWORDS_COUNTRY, 0);
districtSearch.setQuery(districtSearchQuery);
districtSearch.searchDistrictAnsy();

districtSearch.setOnDistrictSearchListener(new OnDistrictSearchListener() {
@Override
public void onDistrictSearched(DistrictResult arg0) {
//这里便是得到的结果
}
});


下面是具体实现的图片

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐