百度SDK定位

package com.network.duoduo;

import android.content.Context;

import com.baidu.location.BDLocation;
import com.baidu.location.BDLocationListener;
import com.baidu.location.LocationClient;
import com.baidu.location.LocationClientOption;
import com.baidu.location.LocationClientOption.LocationMode;
import com.base.duoduo.Config;
import com.base.duoduo.MyShared;

//定位类
public class Position {
    
    protected Context mContext;

    //百度地图
    protected LocationClient mLocationClient = null;
    protected BDLocationListener myListener = new MyLocationListener();
    
    public Position(Context context){
        this.mContext = context;
        
    }  
    
    public void initParam(){
        mLocationClient = new LocationClient(mContext.getApplicationContext());     //声明LocationClient类
        LocationClientOption option = new LocationClientOption();
        option.setLocationMode(LocationMode.Hight_Accuracy);//设置定位模式
        option.setCoorType("bd09ll");//返回的定位结果是百度经纬度,默认值gcj02
        option.setScanSpan(10*1000);//设置发起定位请求的间隔时间为10分钟
        option.setIsNeedAddress(true);//返回的定位结果包含地址信息
        option.setNeedDeviceDirect(true);//返回的定位结果包含手机机头的方向
        option.setAddrType("all");
        mLocationClient.setLocOption(option);
        mLocationClient.registerLocationListener( myListener );    //注册监听函数
        
    }
    
    //启动SDK
    public void start(){
        mLocationClient.start();
    }
    
    //停止SDK
    public void stop(){
         mLocationClient.stop();
    }
    
    //百度地图地理位置
    public class MyLocationListener implements BDLocationListener {
        @Override
        public void onReceiveLocation(BDLocation location) {
            if (location == null)  return ;
            MyShared mMyShared = new MyShared(mContext,Config.DW_CONFIG_NAME);
            mMyShared.putValue("dw_times",location.getTime());
            mMyShared.putValue("dw_addr",location.getAddrStr());
            mMyShared.putValue("dw_province",location.getProvince());
            mMyShared.putValue("dw_city",location.getCity());
            mMyShared.putValue("dw_district",location.getDistrict());
            mMyShared.putValue("dw_latitude",String.valueOf(location.getLatitude()));
            mMyShared.putValue("dw_longitude",String.valueOf(location.getLongitude()));
            mMyShared.putValue("dw_tadius",String.valueOf(location.getRadius()));
            mMyShared.putValue("dw_direction",String.valueOf(location.getDirection()));
        }
    }
    
}

 

posted @ 2015-03-24 09:26  不冷不热  阅读(323)  评论(0)    收藏  举报