最近有个小项目需要进行一些定位的操作,找来找去,觉得百度做的还是比较好的。
就记录一点,
MainActivity.java
public class MainActivity extends Activity { public LocationClient mLocationClient = null; public LocationClientOption option; public BDLocationListener myListener = new BDLocationListener() { @Override public void onReceiveLocation(BDLocation arg0) { // TODO Auto-generated method stub Toast.makeText(MainActivity.this,"地址:"+ arg0.getAddrStr()+"--"+arg0.getCity()+"--"+arg0.getLatitude()+"---"+arg0, Toast.LENGTH_LONG).show(); } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mLocationClient = new LocationClient(getApplicationContext()); //声明LocationClient类 option=new LocationClientOption(); option.setLocationMode(LocationMode.Hight_Accuracy);//设置定位模式 option.setCoorType("bd09ll");//返回的定位结果是百度经纬度,默认值gcj02 option.setScanSpan(5000);//设置发起定位请求的间隔时间为5000ms option.setIsNeedAddress(true);//返回的定位结果包含地址信息 option.setNeedDeviceDirect(true);//返回的定位结果包含手机机头的方向 option.setAddrType("all"); mLocationClient.setLocOption(option); mLocationClient.registerLocationListener( myListener ); //注册监听函数 } public void getLocation(View view){ mLocationClient.start(); } }
mainfest.xml
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.locationtest" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="15" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" > </uses-permission> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" > </uses-permission> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" > </uses-permission> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" > </uses-permission> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" > </uses-permission> <uses-permission android:name="android.permission.READ_PHONE_STATE" > </uses-permission> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" > </uses-permission> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" > </uses-permission> <uses-permission android:name="android.permission.READ_LOGS" > </uses-permission> <uses-permission android:name="android.permission.VIBRATE" /> <uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="android.permission.WRITE_SETTINGS" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <service android:name="com.baidu.location.f" android:enabled="true" android:process=":remote" > <intent-filter> <action android:name="com.baidu.location.service_v2.2" > </action> </intent-filter> </service> <!-- meta-data需要写在application中 --> <meta-data android:name="com.baidu.lbsapi.API_KEY" android:value="............." />//自己的key <activity android:name=".MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
一开始没有设置locationClientOption导致使用location.getAddrStr()的时候获取的结果都是null。
没有设置的话,所有文字的结果都是null。。记住这一点就行。其他按着配置就行。
相关推荐
Android下利用百度地图定位SDK实现的在后台实时获取地理位置信息的例子,可以运行,希望对你有所帮助。
利用百度地图Android sdk高仿微信发送位置功能
《百度定位SDK使用V4.0》对应源码,简单实现了LBS定位,博客对应网址:http://blog.csdn.net/harvic880925/article/details/17633311
最近做一个项目用到GPS定位的问题,然后在网上找了例子去做,结果发现在室内几乎很难定位到。最后发现百度地图API已经将定位独立了一个SDK叫定位SDK,去尝试了下,果然很不错,修改之后放这里供大家一起探究。。
这是一篇很适合新手的文档,新手不要错过啦,快来看看。
定位可以使用GPS、基站、Wi-Fi来完成定位,百度地图Android定位SDK是利用设备当前的GPS信息(GPS定位),基站信息(基站定位)和Wi-Fi信息(Wi-Fi定位)完成定位的。开发者在应用中成功集成百度定位SDK以后,既可以...
最简单的百度地图定位器,最小化利用百度地图定位SDK,最最简单的一个定位实例
利用百度地图SDK实现定位与在地图上显示当前位置的功能
利用百度地图SDK写的一个定位Demo,主要展示代码风格,逻辑的封装
本插件是cordova-qdc-baidu-location的升级版,利用百度定位SDK为Web app解决大陆Android定位不准的问题。 相比原插件,更新百度地图Android版定位SDK(v6.2.3)并提供watchPosition和clearWatch方法。
真相是,扫街景的原理就是GPS定位,然后直接返回定位坐标的街景地图。和摄像头根本一毛钱关系没有。 如果你不信,可以试试扫的时候打开定位,把摄像头挡住。 退一万步说,就算真的是用“扫”的,只要依赖了GPS,那这...
给大家介绍了利用百度地图Android sdk高仿微信发送位置功能,在实现此功能的时候遇到点小问题,下面小编给大家列出来,需要的朋友参考下吧
百度外卖选择更多位置时拖动地图Marker可以根据拖动的位置随时定位,并且可以获得就近的位置列表,这个代码是利用高德地图sdk完成的,上传的是主要代码,拖动定位功能,就近位置列表数据都已完成。
一个利用百度地图SDK实现的实例,包括定位,导航等功能。适合于初学者了解实现过程。
Android利用百度地图bomb服务器实现经纬度获取、测距等 实现功能为地图展示,定位当前位置,获取当前位置的经纬度,用户输入目的地,获取目的地的经纬度信息,在地图上标注目的地位置,根据经纬度得到距离,发布订单...
目前百度地图SDK所提供的地图等级为3-19级,所包含的信息有建筑物、道路、河流、学校、公园等内容。所有叠加或覆盖到地图的内容,我们统称为地图覆盖物。如标注、矢量图形元素(包括:折线、多边形和圆等)、定位...
百度地图定位,利用gps进行高精度的定位,定位周期为5
Viewport不局限于浏览器可视区域的大小,可能比浏览器的可视区域要大,也可能比浏览器的可视区域要小。 媒体查询 CSS媒体查询允许开发者基于浏览网站的设备的特性来应用不同的样式申明,最常用的特性是视口宽度。 ...
百度云盘分享 简介 笔者当初为了学习JAVA,收集了很多经典源码,源码难易程度分为初级、中级、高级等,详情看源码列表,需要的可以直接下载! 这些源码反映了那时那景笔者对未来的盲目,对代码的热情、执着,对...