`
Thomas会Coding
  • 浏览: 92601 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

利用百度地图sdk定位 要注意的

阅读更多

最近有个小项目需要进行一些定位的操作,找来找去,觉得百度做的还是比较好的。

就记录一点,

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。。记住这一点就行。其他按着配置就行。

1
0
分享到:
评论

相关推荐

    Android利用百度定位SDK在后台实时定位并显示

    Android下利用百度地图定位SDK实现的在后台实时获取地理位置信息的例子,可以运行,希望对你有所帮助。

    利用百度地图Android sdk高仿微信发送位置功能

    利用百度地图Android sdk高仿微信发送位置功能

    百度定位SDK使用V4.0 定位 源码

    《百度定位SDK使用V4.0》对应源码,简单实现了LBS定位,博客对应网址:http://blog.csdn.net/harvic880925/article/details/17633311

    利用百度定位Sdk获取Gps位置

    最近做一个项目用到GPS定位的问题,然后在网上找了例子去做,结果发现在室内几乎很难定位到。最后发现百度地图API已经将定位独立了一个SDK叫定位SDK,去尝试了下,果然很不错,修改之后放这里供大家一起探究。。

    利用百度地图SDK实现定位技术介绍

    这是一篇很适合新手的文档,新手不要错过啦,快来看看。

    百度定位SDKV4.1的使用

    定位可以使用GPS、基站、Wi-Fi来完成定位,百度地图Android定位SDK是利用设备当前的GPS信息(GPS定位),基站信息(基站定位)和Wi-Fi信息(Wi-Fi定位)完成定位的。开发者在应用中成功集成百度定位SDK以后,既可以...

    最最简单的百度地图定位器

    最简单的百度地图定位器,最小化利用百度地图定位SDK,最最简单的一个定位实例

    地图实现定位

    利用百度地图SDK实现定位与在地图上显示当前位置的功能

    百度地图定位Demo

    利用百度地图SDK写的一个定位Demo,主要展示代码风格,逻辑的封装

    Android-基于百度Android定位sdk的cordova插件

    本插件是cordova-qdc-baidu-location的升级版,利用百度定位SDK为Web app解决大陆Android定位不准的问题。 相比原插件,更新百度地图Android版定位SDK(v6.2.3)并提供watchPosition和clearWatch方法。

    利用百度全景SDK仿微信扫街景

    真相是,扫街景的原理就是GPS定位,然后直接返回定位坐标的街景地图。和摄像头根本一毛钱关系没有。 如果你不信,可以试试扫的时候打开定位,把摄像头挡住。 退一万步说,就算真的是用“扫”的,只要依赖了GPS,那这...

    利用百度地图Android sdk高仿微信发送位置功能及遇到的问题

    给大家介绍了利用百度地图Android sdk高仿微信发送位置功能,在实现此功能的时候遇到点小问题,下面小编给大家列出来,需要的朋友参考下吧

    利用高德地图仿微信发送位置和百度外卖更多位置功能。

    百度外卖选择更多位置时拖动地图Marker可以根据拖动的位置随时定位,并且可以获得就近的位置列表,这个代码是利用高德地图sdk完成的,上传的是主要代码,拖动定位功能,就近位置列表数据都已完成。

    百度地图 API Demo

    一个利用百度地图SDK实现的实例,包括定位,导航等功能。适合于初学者了解实现过程。

    Android利用百度地图bomb服务器实现经纬度获取、测距等

    Android利用百度地图bomb服务器实现经纬度获取、测距等 实现功能为地图展示,定位当前位置,获取当前位置的经纬度,用户输入目的地,获取目的地的经纬度信息,在地图上标注目的地位置,根据经纬度得到距离,发布订单...

    libBaiduMapSDK_v3_0_0

    目前百度地图SDK所提供的地图等级为3-19级,所包含的信息有建筑物、道路、河流、学校、公园等内容。所有叠加或覆盖到地图的内容,我们统称为地图覆盖物。如标注、矢量图形元素(包括:折线、多边形和圆等)、定位...

    android地图

    百度地图定位,利用gps进行高精度的定位,定位周期为5

    工程硕士学位论文 基于Android+HTML5的移动Web项目高效开发探究

    Viewport不局限于浏览器可视区域的大小,可能比浏览器的可视区域要大,也可能比浏览器的可视区域要小。 媒体查询 CSS媒体查询允许开发者基于浏览网站的设备的特性来应用不同的样式申明,最常用的特性是视口宽度。 ...

    JAVA上百实例源码以及开源项目

    百度云盘分享 简介 笔者当初为了学习JAVA,收集了很多经典源码,源码难易程度分为初级、中级、高级等,详情看源码列表,需要的可以直接下载! 这些源码反映了那时那景笔者对未来的盲目,对代码的热情、执着,对...

Global site tag (gtag.js) - Google Analytics