好记性不如铅笔头

android, 编程

Android应用开发笔记:使用百度地图Android SDK查询GEO信息

本文接上文【 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。

发表评论

1 × 4 =

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据