亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > Android > 正文

基于Android實現百度地圖定位過程詳解

2020-04-11 11:17:50
字體:
來源:轉載
供稿:網友

一、問題描述

LBS位置服務是android應用中重要的功能,應用越來越廣泛,下面我們逐步學習和實現lbs相關的應用如定位、地圖、導航等,首先我們看如何基于百度地圖實現定位功能

二、配置環境

1、注冊密鑰:地址http://developer.baidu.com/map/

2、下載定位SDK,并導入SDK如圖所示:

 

三、編寫MyApplication類

編寫MyApplication類,為了使用方便我們可以將實現定位的方法封裝的Application組件中

封裝下列方法

1、  獲取定位信息――requestLocationInfo()

2、  通過廣播發送位置信息――sendBroadCast()

3、  停止定位――stopLocationClient()

public class MyApplication extends Application{  public LocationClient mLocationClient = null;  public GeofenceClient mGeofenceClient;  public MyLocationListenner myListener = new MyLocationListenner();  public static String TAG = "MyApplication";  private static MyApplication mInstance = null;  @Override  public void onCreate(){    mInstance = this;    mLocationClient = new LocationClient(this);    /**     * 項目的key,自己到官網申請 http://lbsyun.baidu.com/apiconsole/key     */    mLocationClient.setAK("你的應用Key");    mLocationClient.registerLocationListener(myListener);    mGeofenceClient = new GeofenceClient(this);    super.onCreate();    Log.d(TAG, "... Application onCreate... pid=" + Process.myPid());  }  public static MyApplication getInstance(){    return mInstance;  }  /**   * 停止定位   */  public void stopLocationClient(){    if (mLocationClient != null && mLocationClient.isStarted()){      mLocationClient.stop();    }   }  /**   * 發起定位   */  public void requestLocationInfo(){    setLocationOption();    if (mLocationClient != null && !mLocationClient.isStarted()){      mLocationClient.start();    }    if (mLocationClient != null && mLocationClient.isStarted()){      mLocationClient.requestLocation();    }   }  /**   * 設置百度地圖的相關參數   */  private void setLocationOption(){    LocationClientOption option = new LocationClientOption();    option.setOpenGps(true); // 打開gps    option.setCoorType("bd09ll"); // 設置坐標類型    option.setServiceName("com.baidu.location.service_v2.9");    option.setPoiExtraInfo(true);    option.setAddrType("all");    option.setPoiNumber(10);    option.disableCache(true);    mLocationClient.setLocOption(option);  }  /**   * 監聽函數,有更新位置的時候,格式化成字符串,輸出到屏幕中   */  public class MyLocationListenner implements BDLocationListener  {    @Override    public void onReceiveLocation(BDLocation location){      if (location == null){        sendBroadCast("定位失敗!");        return;      }      sendBroadCast(location.getAddrStr());    }    public void onReceivePoi(BDLocation poiLocation){      if (poiLocation == null){        sendBroadCast("定位失敗!");        return;      }      sendBroadCast(poiLocation.getAddrStr());    }  }  /**   * 得到發送廣播   * @param address   */  public void sendBroadCast(String address){        stopLocationClient();    Intent intent = new Intent(MainActivity.LOCATION_BCR);    intent.putExtra("address", address);    sendBroadcast(intent);  }}

三、 主程序MainActivity

public class MainActivity extends Activity{  public static String TAG = "LocTestDemo";  private BroadcastReceiver broadcastReceiver;  public static String LOCATION_BCR = "location_bcr";  private Button locBtn;  private TextView locInfo;  private MyApplication application;  @Override  protected void onCreate(Bundle savedInstanceState){    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    application=(MyApplication)super.getApplication();    initialize();    initializeViews();    initializeListeners();  }  private void initialize(){    registerBroadCastReceiver();//注冊廣播  }  private void initializeViews()  {    locBtn = (Button) findViewById(R.id.location);    locInfo = (TextView) findViewById(R.id.location_info);  }  private void initializeListeners()  {    locBtn.setOnClickListener(new OnClickListener(){      @Override      public void onClick(View v){        locInfo.setText("定位中...");      //調用請求定位信息      application.requestLocationInfo();      }    });  }  /**   * 注冊一個廣播,監聽定位結果,接受廣播獲得地址信息   */  private void registerBroadCastReceiver()  {    broadcastReceiver = new BroadcastReceiver(){    public void onReceive(Context context, Intent intent){      String address = intent.getStringExtra("address");        locInfo.setText(address);      }    };    IntentFilter intentToReceiveFilter = new IntentFilter();    intentToReceiveFilter.addAction(LOCATION_BCR);    registerReceiver(broadcastReceiver, intentToReceiveFilter);  }  @Override  protected void onDestroy(){    super.onDestroy();    unregisterReceiver(broadcastReceiver);  }}

四、 AndroidManifest.xml配置信息

<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"  package="com.jereh.baidulocation"  android:versionCode="1"  android:versionName="1.0" >  <uses-sdk    android:minSdkVersion="8"    android:targetSdkVersion="17" />  <application    android:name="com.jereh.baidulocation.MyApplication"    android:allowBackup="true"    android:icon="@drawable/ic_launcher"    android:label="@string/app_name"    android:theme="@style/AppTheme" >    <activity      android:name="com.jereh.baidulocation.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>    <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>  </application>  <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" /></manifest>
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久91精品国产91久久跳| 久久精品视频导航| 亚洲色图激情小说| 日韩电影大全免费观看2023年上| 91影院在线免费观看视频| 精品久久久香蕉免费精品视频| 欧美日韩国产专区| 日韩欧美在线中文字幕| 久久精品99久久久久久久久| 国产婷婷成人久久av免费高清| 一区二区三区动漫| 久久久这里只有精品视频| 亚洲qvod图片区电影| 成人福利网站在线观看11| 福利视频第一区| 欧美另类老女人| 国产精品一二区| 国产成人高清激情视频在线观看| 色午夜这里只有精品| 久久久久久香蕉网| 亚洲欧美制服中文字幕| 欧美性受xxxx白人性爽| 欧美成aaa人片在线观看蜜臀| 国产精品永久在线| 成人精品久久av网站| 国产精品第三页| 国产精品第七十二页| 亚洲free性xxxx护士hd| 狠狠色香婷婷久久亚洲精品| 国产精品久久77777| 国产区精品在线观看| 国产丝袜精品第一页| 亚洲精品一区二区三区婷婷月| 国模精品视频一区二区| 久久人人爽人人爽人人片av高请| 久久久成人精品视频| 欧美性jizz18性欧美| 国产精品中文久久久久久久| 亚洲一区二区在线| 亚洲免费一在线| 国产91精品在线播放| 亚洲mm色国产网站| 日韩成人激情在线| 亚洲国产精品字幕| 亚洲欧美综合另类中字| 亚洲国产精品人久久电影| 国产精品成人播放| 亚洲视屏在线播放| 国产精品18久久久久久首页狼| 97久久精品在线| 欧美一级淫片丝袜脚交| 97在线视频免费播放| 亚洲欧美国产精品va在线观看| 日韩精品在线观看视频| 久久精品视频在线播放| 国产精品视频区1| 国产日韩视频在线观看| 久久天天躁日日躁| 欧美一区二区大胆人体摄影专业网站| 亚洲毛茸茸少妇高潮呻吟| 午夜精品一区二区三区在线播放| 久久91亚洲人成电影网站| 色综合天天综合网国产成人网| 亚洲精品国产综合久久| 日韩av电影在线免费播放| 欧美性在线视频| 青草青草久热精品视频在线观看| 久久久久久久久久久国产| 亚洲字幕一区二区| 成人av资源在线播放| 日韩av网址在线观看| 97高清免费视频| 57pao成人国产永久免费| 亚洲精品久久久久久下一站| 日韩av在线不卡| 久久久噜噜噜久久| 97视频人免费观看| 国产精品久久久久久久久久免费| 亚洲丁香婷深爱综合| 国产视频在线观看一区二区| 欧美日韩免费在线| 久久亚洲成人精品| 亚洲精品国产精品乱码不99按摩| 欧美日韩裸体免费视频| 91免费欧美精品| 亚洲国产成人精品一区二区| 成人有码在线视频| 91美女片黄在线观| 欧美黑人巨大xxx极品| 91色p视频在线| 欧美极品xxxx| 欲色天天网综合久久| 精品自在线视频| 欧美华人在线视频| 国产精品免费一区二区三区都可以| 欧洲成人在线视频| 日韩中文字幕在线观看| 久久黄色av网站| 欧美一区亚洲一区| 亚洲一二三在线| 亚州av一区二区| 日韩av在线一区| 亚洲一区av在线播放| 国产亚洲精品美女久久久久| 日本亚洲精品在线观看| 96精品久久久久中文字幕| 亚洲欧美日韩一区二区在线| 亚洲va国产va天堂va久久| 亚洲国产美女精品久久久久∴| 中文字幕精品www乱入免费视频| 亚洲偷欧美偷国内偷| 欧洲午夜精品久久久| 国产欧美日韩最新| 超碰日本道色综合久久综合| 国产91精品不卡视频| 精品美女久久久久久免费| 国产精品影片在线观看| 欧洲日韩成人av| 国产成人啪精品视频免费网| 久久99国产精品自在自在app| www.亚洲成人| 成人久久一区二区| 九九精品在线视频| 成人在线视频福利| 亚洲男人天堂2023| 国产欧美日韩丝袜精品一区| 亚州精品天堂中文字幕| 热99久久精品| 亚洲精品永久免费精品| 欧美色播在线播放| 国产成人精品午夜| 亚洲激情视频在线| 欧美激情综合色综合啪啪五月| 欧美激情三级免费| 亚洲国产成人精品电影| 亚洲欧美日韩一区二区在线| 在线色欧美三级视频| 亚洲一区美女视频在线观看免费| 欧美另类交人妖| 2019亚洲日韩新视频| 91免费高清视频| 久久6免费高清热精品| 92裸体在线视频网站| 68精品国产免费久久久久久婷婷| 亚洲偷欧美偷国内偷| 91色视频在线导航| 国产精品青青在线观看爽香蕉| 高清欧美性猛交| 国产亚洲欧美aaaa| 91大神福利视频在线| 亚洲国产中文字幕久久网| 久久中国妇女中文字幕| 亚洲综合中文字幕在线| 国产亚洲一区精品| 日韩精品免费看| 日韩欧美精品网址| 4k岛国日韩精品**专区| 欧美精品在线极品| 91精品视频免费看| 亚洲欧洲在线播放| 成人高h视频在线| 91性高湖久久久久久久久_久久99| 国内精品一区二区三区| 黄网动漫久久久|