集成百度地图API实现定位
一.百度地图API获取定位
AndroidManifest.xml必须配置:
定位服务 |
<service android:name="com.baidu.location.f" android:enabled="true" android:process=":remote" android:exported="false"> <intent-filter > <action android:name="com.baidu.location.service" android:exported="false"/> </intent-filter> </service> |
Key配置 |
<!-- 用于配置key --> <meta-data android:name="com.baidu.lbsapi.API_KEY" android:value="Kn1xqiWftDyndXhMqLTG2k1G" /> |
AndroidManifest.xml |
获取地理位置--1.获得地理编码---2通过地理编码获得地理位置名称
初始化地图 |
// 初始化百度地图 bMapLocation = new GetMyLocation(MainClient.this); bMapLocation.initGeoCode(); |
定位初始化 |
//定位初始化 mLocClient=new LocationClient(context.getApplicationContext()); locData = new LocationData(); mLocClient.registerLocationListener(myListener); LocationClientOption option = new LocationClientOption(); option.setOpenGps(true);//打开gps option.setCoorType("bd09ll");//设置坐标类型 option.setScanSpan(10000); mLocClient.setLocOption(option); mLocClient.start(); |
通过地理编码获得地区名称 |
mSearch = new MKSearch(); mSearch.init(mapManager, new MKSearchListener() {
public void onGetAddrResult(MKAddrInfo res, int error) { if (error != 0) { String str = String.format("错误号:%d", error); Toast.makeText(GetMyLocation.context,str, Toast.LENGTH_LONG).show(); return; } if (res.type == MKAddrInfo.MK_REVERSEGEOCODE){ //反地理编码:通过坐标点检索详细地址及周边poi localname = res.strAddr; } } 。 。 。 。 。 。 |