zoukankan      html  css  js  c++  java
  • Android_百度地图基本用法2

      1 /*
      2  *1.进行具体定位
      3  *2.回到我的位置
      4  * 
      5  * */
      6 public class MainActivity extends Activity {
      7     MapView mapView;
      8     BaiduMap mBaiduMap;
      9     // 定位相关
     10     private LocationClient mLocationClient;
     11     private MyLocationListener mLocationListener;
     12     private boolean isFirst = true;
     13     // 记录经纬度
     14     private double mLatitude;
     15     private double mLongtitude;
     16 
     17     @Override
     18     protected void onCreate(Bundle savedInstanceState) {
     19         super.onCreate(savedInstanceState);
     20         SDKInitializer.initialize(getApplicationContext());
     21         requestWindowFeature(Window.FEATURE_NO_TITLE);
     22         setContentView(R.layout.fragment_main);
     23         mapView = (MapView) findViewById(R.id.bmapView);
     24         mBaiduMap = mapView.getMap();
     25         // 设置地图标尺500m
     26         MapStatusUpdate msu = MapStatusUpdateFactory.zoomTo(15.0f);
     27         mBaiduMap.setMapStatus(msu);
     28 
     29         // 初始化定位
     30 
     31         mLocationClient = new LocationClient(this);
     32         mLocationListener = new MyLocationListener();
     33         mLocationClient.registerLocationListener(mLocationListener);
     34         LocationClientOption option = new LocationClientOption();
     35         option.setCoorType("bd09ll");// 坐标类型
     36         option.setIsNeedAddress(true);
     37         option.setOpenGps(true);
     38         option.setScanSpan(1000);// 每隔1秒请求
     39         mLocationClient.setLocOption(option);
     40 
     41     }
     42 
     43     public void but(View view) {
     44         switch (view.getId()) {
     45 
     46         // 定位到我的位置
     47         case R.id.back:
     48             LatLng latLng = new LatLng(mLatitude, mLongtitude);
     49             MapStatusUpdate msu = MapStatusUpdateFactory.newLatLng(latLng);
     50             mBaiduMap.animateMapStatus(msu);
     51 
     52             break;
     53 
     54         }
     55 
     56     }
     57 
     58     @Override
     59     protected void onResume() {
     60 
     61         super.onResume();
     62         mapView.onResume();
     63     }
     64 
     65     @Override
     66     protected void onStart() {
     67 
     68         super.onStart();
     69         // 开启定位
     70         mBaiduMap.setMyLocationEnabled(true);
     71         if (!mLocationClient.isStarted()) {
     72             mLocationClient.start();
     73         }
     74 
     75     }
     76 
     77     @Override
     78     protected void onStop() {
     79         // TODO Auto-generated method stub
     80         super.onStop();
     81         // 停止定位
     82         mBaiduMap.setMyLocationEnabled(false);
     83         mLocationClient.stop();
     84 
     85     }
     86 
     87     @Override
     88     protected void onPause() {
     89         // TODO Auto-generated method stub
     90         super.onPause();
     91         mapView.onPause();
     92     }
     93 
     94     @Override
     95     protected void onDestroy() {
     96         // TODO Auto-generated method stub
     97         super.onDestroy();
     98         mapView.onDestroy();
     99     }
    100 
    101     private class MyLocationListener implements BDLocationListener {
    102 
    103         @Override
    104         public void onReceiveLocation(BDLocation arg0) {
    105             // 精度、纬度
    106             MyLocationData data = new MyLocationData.Builder()
    107                     .accuracy(arg0.getRadius()).latitude(arg0.getLatitude())
    108                     .longitude(arg0.getLongitude()).build();
    109 
    110             mBaiduMap.setMyLocationData(data);
    111             // 更新经纬度
    112             mLatitude = arg0.getLatitude();
    113             mLongtitude = arg0.getLongitude();
    114             // 第一次进入,设置用户当前位置
    115             if (isFirst) {
    116                 LatLng latLng = new LatLng(arg0.getLatitude(),
    117                         arg0.getLongitude());
    118                 MapStatusUpdate msu = MapStatusUpdateFactory.newLatLng(latLng);
    119                 mBaiduMap.animateMapStatus(msu);
    120                 isFirst = false;
    121                 // 显示地址
    122                 Toast.makeText(MainActivity.this, arg0.getAddrStr(), 0).show();
    123 
    124             }
    125 
    126         }
    127 
    128         @Override
    129         public void onConnectHotSpotMessage(String arg0, int arg1) {
    130             // TODO Auto-generated method stub
    131 
    132         }
    133 
    134     }
    135 
    136 }
  • 相关阅读:
    应用程序跳转
    百度地图集成
    导航 -MapKit
    导航
    定位
    ApexSql Log使用体会
    Oracle学习 第16天
    上来冒个泡吧
    Oracle学习 实战心得总结
    好久没上来冒个泡了,整整一个半月
  • 原文地址:https://www.cnblogs.com/my334420/p/7112001.html
Copyright © 2011-2022 走看看