android百度地图——获取当前地理位置
2013-12-04 19:59
776 查看
首先需要准备的工具:
1、百度地图api下载地址:http://developer.baidu.com/map/sdk-android.htm完整版下载后会有以下的三个文件;
功能不多说,自己结合(docs)文档和(Sample)来了解具体的功能和实现方法。
2、百度秘钥:http://developer.baidu.com/map/android-mobile-apply-key.htm
大部分的对外开放接口都有一个秘钥,百度也不例外,秘钥的申请在官网上有详细的教程,在这里就不浪费文字啰嗦了。
接下来就开始着手项目:
1、导入百度api:
把Lib文件夹下面的jar文件和os文件一并copy到项目的libs包里面,右击项目:Build Path——Configure Build Path
——Libraries——Add JARS把两个包都加载到项目中,接着在Order and Export当中勾选到刚刚导入的两个文件
2、要获取地理位置首先的通过百度地图api来获取百度自己的经纬度,不能使用通过gps获取的经纬度来获取当前地理
位置名称,原因在百度api中有如下解释:
http://developer.baidu.com/map/geosdk-symbian-qa.htm
获取经纬度需要用到LocationClint类,
LocaltionClient中需要设置定位条件,定位条件通过LocationClientOption类来包装,包装好之后LocaltionClient只需要
调用LocaltionClient.setLocOption(LocationClientOption)方法即可,接下来就是注册位置监听器,
locationClient.registerLocationListener在监听器中有两个方法,一看名字就知道我们要用的方法是哪一个,只要在该
方法体中去实现我们的功能,比如获取经纬度等等,当然这样还不够,还需要让LocaltionClient.start()和LocaltionClient.request();
在这两个方法执行之后才能获取到经纬度的值。
其方法如下
获取到经纬度就方便多了,只需要调用MKsearch类的into()方法和reverseGeocode()方法就可以获取当前的详细位置了。
在MyMKSearchListener当中的 onGetAddrResult()方法中就可获取当前地理位置。
1、百度地图api下载地址:http://developer.baidu.com/map/sdk-android.htm完整版下载后会有以下的三个文件;
功能不多说,自己结合(docs)文档和(Sample)来了解具体的功能和实现方法。
2、百度秘钥:http://developer.baidu.com/map/android-mobile-apply-key.htm
大部分的对外开放接口都有一个秘钥,百度也不例外,秘钥的申请在官网上有详细的教程,在这里就不浪费文字啰嗦了。
接下来就开始着手项目:
1、导入百度api:
把Lib文件夹下面的jar文件和os文件一并copy到项目的libs包里面,右击项目:Build Path——Configure Build Path
——Libraries——Add JARS把两个包都加载到项目中,接着在Order and Export当中勾选到刚刚导入的两个文件
2、要获取地理位置首先的通过百度地图api来获取百度自己的经纬度,不能使用通过gps获取的经纬度来获取当前地理
位置名称,原因在百度api中有如下解释:
http://developer.baidu.com/map/geosdk-symbian-qa.htm
获取经纬度需要用到LocationClint类,
LocaltionClient中需要设置定位条件,定位条件通过LocationClientOption类来包装,包装好之后LocaltionClient只需要
调用LocaltionClient.setLocOption(LocationClientOption)方法即可,接下来就是注册位置监听器,
locationClient.registerLocationListener在监听器中有两个方法,一看名字就知道我们要用的方法是哪一个,只要在该
方法体中去实现我们的功能,比如获取经纬度等等,当然这样还不够,还需要让LocaltionClient.start()和LocaltionClient.request();
在这两个方法执行之后才能获取到经纬度的值。
其方法如下
public void getLongitdue(){ LocationClient locationClient = new LocationClient(context); //设置定位条件 LocationClientOption option = new LocationClientOption(); option.setOpenGps(true); //是否打开GPS option.setCoorType("bd09ll"); //设置返回值的坐标类型。 option.setPriority(LocationClientOption.NetWorkFirst); //设置定位优先级 option.setProdName(context.getString(R.string.app_name)); //设置产品线名称。强烈建议您使用自定义的产品线名称,方便我们以后为您提供更高效准确的定位服务。 option.setScanSpan(100);//设置定时定位的时间间隔。单位毫秒 locationClient.setLocOption(option); //注册位置监听器 locationClient.registerLocationListener(new BDLocationListener() { public void onReceivePoi(BDLocation arg0) { } public void onReceiveLocation(BDLocation location) { latitude=location.getLatitude(); longitude=location.getLongitude(); } }); if(locationClient.isStarted()){ locationClient.stop(); } locationClient.start(); locationClient.requestLocation(); locationClient.requestNotifyLocation(); }
获取到经纬度就方便多了,只需要调用MKsearch类的into()方法和reverseGeocode()方法就可以获取当前的详细位置了。
bMapManager=new BMapManager(context); bMapManager.init(myApplication.strKey,myApplication.generalListener); mksearch=new MKSearch(); mksearch.init(bMapManager, new MyMKSearchListener()); getLongitude(); mksearch.reverseGeocode(new GeoPoint((int) ( latitude* 1E6),(int) (longitude * 1E6)));
在MyMKSearchListener当中的 onGetAddrResult()方法中就可获取当前地理位置。
相关文章推荐
- Android 百度地图—反地理编码—获取当前位置附近的大厦楼宇
- iOS 百度地图获取当前地理位置
- Android高德地图获取当前地理位置(不显示地图只获取当前位置)
- Android 成功 使用GPS获取当前地理位置(解决getLastKnownLocation 返回 null)
- Android 成功 使用GPS获取当前地理位置(解决getLastKnownLocation 返回 null)
- Android 使用GPS获取当前地理位置
- Android 成功 使用GPS获取当前地理位置(解决getLastKnownLocation 返回 null)
- [android] 百度地图开发 (三).定位当前位置及getLastKnownLocation获取location总为空问题
- Android 成功 使用GPS获取当前地理位置(解决getLastKnownLocation 返回 null)
- 用Android Location获取当前地理位置的方法
- Android 成功 使用GPS获取当前地理位置(解决getLastKnownLocation)
- HTML5获取当前地理位置并在百度地图上展示的实例
- Android 成功 使用GPS获取当前地理位置(解决getLastKnownLocation 返回 null)
- Android集成百度地图 在service中定时获取当前位置
- HTML5获取当前地理位置并在百度地图上展示的实例
- 基于百度地图的android地理位置获取
- android百度地图开发V4.5最新版(2)---地理位置的获取
- Android 成功 使用GPS获取当前地理位置(解决getLastKnownLocation 返回 null)
- Android 成功 使用GPS获取当前地理位置(解决getLastKnownLocation 返回 null)
- android 定位 获取地理位置 百度地图