本文接上文【 Android应用开发笔记:使用百度地图Android SDK查询GEO信息 】
CONTENTS
根据GPS点查询当前地理位置
百度地图sdk提供了一个类MKSearch,可以很方便的查询各种信息,这里就简单的备份一下如何根据当前gps点查询地理位置。
1)声明相关变量
private MKSearch mSearch = null; private MKSearchListener mkSearchListener = new MKSearchListener() { @Override public void onGetWalkingRouteResult(MKWalkingRouteResult arg0, int arg1) {} @Override public void onGetTransitRouteResult(MKTransitRouteResult arg0, int arg1) {} @Override public void onGetSuggestionResult(MKSuggestionResult arg0, int arg1) {} @Override public void onGetShareUrlResult(MKShareUrlResult arg0, int arg1, int arg2) {} @Override public void onGetPoiResult(MKPoiResult arg0, int arg1, int arg2) {} @Override public void onGetPoiDetailSearchResult(int arg0, int arg1) {} @Override public void onGetDrivingRouteResult(MKDrivingRouteResult arg0, int arg1) {} @Override public void onGetBusDetailResult(MKBusLineResult arg0, int arg1) {} //这里我们只用到了onGetAddrResult回调函数 @Override public void onGetAddrResult(MKAddrInfo res, int error) { if (error != 0) { Log.e(TAG, "GEO查询失败:" + error); Toast.makeText(SpeedActivity.this, "查询失败:" + error, Toast.LENGTH_SHORT).show(); return; } if (res.type == MKAddrInfo.MK_REVERSEGEOCODE) { String strInfo = res.strAddr; Log.d(TAG, "GEO查询成功:" + strInfo); Toast.makeText(SpeedActivity.this, strInfo, Toast.LENGTH_SHORT).show(); return; } } };
2)初始化和调用方法
/* 初始化搜索 */ mSearch = new MKSearch(); mSearch.init(mBMapMan, mkSearchListener); /* 调用方法 */ GeoPoint ptCenter = new GeoPoint((int)(locData.latitude*1e6), (int)(locData.longitude*1e6)); mSearch.reverseGeocode(ptCenter);
备注:
1)通过百度地图sdk,可以很方便的进行各种查询。具体的可以参考百度地图demo。
发表评论