import com.baidu.location.BDLocation; 
import com.baidu.location.BDLocationListener; 
import com.baidu.location.LocationClient; 
import com.baidu.location.LocationClientOption; 
 
import android.app.Activity; 
import android.os.Bundle; 
import android.util.Log; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.widget.TextView; 
 
public class main extends Activity { 
     
    private LocationClient mLocationClient = null; 
    private Button mStartBtn = null; 
    private TextView mTextView = null; 
     
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
         
        setContentView(R.layout.main); 
         
        mStartBtn = (Button)findViewById(R.id.button1); 
        mTextView = (TextView)findViewById(R.id.textview1); 
         
        mLocationClient = new LocationClient(this); 
        LocationClientOption option = new LocationClientOption(); 
        option.setOpenGps(true);                                //打开gps 
        option.setCoorType("bd09ll");                           //设置坐标类型为bd09ll 
        option.setPriority(LocationClientOption.NetWorkFirst);  //设置网络优先 
        option.setProdName("locSDKDemo2");                      //设置产品线名称 
        option.setScanSpan(5000);                               //定时定位,每隔5秒钟定位一次。 
        mLocationClient.setLocOption(option); 
        mLocationClient.registerLocationListener(new BDLocationListener() { 
            @Override 
            public void onReceiveLocation(BDLocation location) { 
                if (location == null) 
                    return ; 
                StringBuffer sb = new StringBuffer(256); 
                sb.append("time : "); 
                sb.append(location.getTime()); 
                sb.append("\nerror code : "); 
                sb.append(location.getLocType()); 
                sb.append("\nlatitude : "); 
                sb.append(location.getLatitude()); 
                sb.append("\nlontitude : "); 
                sb.append(location.getLongitude()); 
                sb.append("\nradius : "); 
                sb.append(location.getRadius()); 
                if (location.getLocType() == BDLocation.TypeGpsLocation){ 
                    sb.append("\nspeed : "); 
                    sb.append(location.getSpeed()); 
                    sb.append("\nsatellite : "); 
                    sb.append(location.getSatelliteNumber()); 
                } else if (location.getLocType() == BDLocation.TypeNetWorkLocation){ 
                    sb.append("\naddr : "); 
                    sb.append(location.getAddrStr()); 
                } 
                sb.append("\nsdk version : "); 
                sb.append(mLocationClient.getVersion()); 
                mTextView.setText(sb.toString()); 
            } 
             
            public void onReceivePoi(BDLocation location){ 
                //return ; 
            } 
        }); 
         
         
        mStartBtn.setOnClickListener(new OnClickListener() { 
            @Override 
            public void onClick(View v) { 
                if (mLocationClient == null) return ; 
                if (mLocationClient.isStarted()){ 
                    mLocationClient.stop(); 
                    mStartBtn.setText("开始"); 
                } else { 
                    mLocationClient.start(); 
                    mStartBtn.setText("关闭"); 
                } 
            } 
        }); 
         
    } 
     
    @Override 
    public void onDestroy(){ 
        if (mLocationClient != null && mLocationClient.isStarted()){ 
            mLocationClient.stop(); 
            mLocationClient = null; 
        } 
        super.onDestroy(); 
    } 
     
     
     
     
}

更多相关文章

  1. android EditText不弹出软键盘的方法
  2. ListView设置Header无分隔线
  3. GPS的开关设置
  4. Android(安卓)Activity生命周期应用 网络设置
  5. Android版本更新及提示安装
  6. android 使用xml drawable 实现 局部圆角,可用作圆角边框
  7. android.graphics.Rect类的详解
  8. 倒计时按钮
  9. SimpleDraweeView 动态设置宽高

随机推荐

  1. android系统定制从听说到入门二
  2. Android解析XML-详尽
  3. android基础知识03——事件处理01:主要事
  4. Android Socket 与 IOS Socket
  5. android 跑马灯
  6. android VelocityTracker简单用法
  7. Android Layout xml 中的几个概念
  8. App自动更新之通知栏下载
  9. Android黑科技动态加载(二)之Android中的
  10. android 透明状态栏与沉浸式