实现手机获取当前经纬度

1、下载locSDK4.1.zip

2、protected void onCreate(Bundle savedInstanceState)中加入以下代码

 mMyLocationListener = new MyLocationListener();
  locationClient = new LocationClient(this);
  locationClient.registerLocationListener(mMyLocationListener);
  mNotifyLister = new NotifyLister();
  mVibrator =(Vibrator)getApplicationContext().getSystemService(Service.VIBRATOR_SERVICE);

3、创建类

public class MyLocationListener implements BDLocationListener {

  @Override
  public void onReceiveLocation(BDLocation location) {
    // TODO Auto-generated method stub 
             EditText editjd=(EditText)findViewById(R.id.editJd);  
        EditText editwd=(EditText)findViewById(R.id.editWd);
            if (location == null) { 

                //return; 
               editjd.setText("1");
                editwd.setText("2");

            }  else
            {
           // EditText editjd=(EditText)findViewById(R.id.editJd);  
       // EditText editwd=(EditText)findViewById(R.id.editWd);
              editjd.setText(location.getLongitude()+"");
              editwd.setText(location.getLatitude()+"");
            }
   //logMsg(sb.toString());
   //Log.i("BaiduLocationApiDem", sb.toString());
  }

  @Override
  public void onReceivePoi(BDLocation arg0) {
   
  }
 }
 /**
  * 高精度地理围栏回调
  * @author jpren
  *
  */
 public class NotifyLister extends BDNotifyListener{
  public void onNotify(BDLocation mlocation, float distance){
   mVibrator.vibrate(1000);
  }
 }

4、button事件中加入以下代码

 btnCj.setOnClickListener(new Button.OnClickListener()
        {
          @Override
          public void onClick(View v)
           {
         if (locationClient == null) { 

          EditText editjd=(EditText)findViewById(R.id.editJd);  
             EditText editwd=(EditText)findViewById(R.id.editWd); 
                     //return; 
                  editjd.setText("1");
                  editwd.setText("2");
                              return; 

               } 

         if (locationClient.isStarted()) { 

                            // startButton.setText("Start"); 

               locationClient.stop(); 

           }else { 

                         //     startButton.setText("Stop"); 

                 locationClient.start(); 

                              /* 

                               *当所设的整数值大于等于1000(ms)时,定位SDK内部使用定时定位模式。 

                               *调用requestLocation( )后,每隔设定的时间,定位SDK就会进行一次定位。 

                               *如果定位SDK根据定位依据发现位置没有发生变化,就不会发起网络请求, 

                               *返回上一次定位的结果;如果发现位置改变,就进行网络请求进行定位,得到新的定位结果。 

                              *定时定位时,调用一次requestLocation,会定时监听到定位结果。 

                               */

            locationClient.requestLocation(); 

             } 

                //地图定位添加图片
               // GeoPoint point =new GeoPoint((int)(location.getLatitude()* 1E6),(int)(location.getLongitude()* 1E6));  
               // LoadMap(point,"采集坐标","开始采集坐标");
                // }
                // });       
           }
        });

5、真机测试成功

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奔跑的熊猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值