91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

百度地圖開放API初體驗(二)

發布時間:2020-10-10 23:51:42 來源:網絡 閱讀:345 作者:_隨心 欄目:移動開發

    前面已經實現了初始化百度地圖,但是其默認顯示位置是北京地區。換言之,它并沒有根據自己需要而定位不同的位置。這里要介紹的,就是要實現簡單的定位功能。


  1. 在AndroidManifest.xml中的application標簽中聲明service組件,因為每個app都擁有自己單獨的定位service:


<application

  

   ...


   <service

       android:name="com.baidu.location.f" 

       android:enabled="true"

       android:process=":remote" >

    </service>


    ...

</application>


2.在AndroidManifest.xml中聲明使用的權限。這個在第一篇介紹中,如果已經聲明過了就足夠使用,可以按照需求參考:

http://developer.baidu.com/map/index.php?title=android-locsdk/guide/v5-0


3.設置一個“我的位置”選項,這里不設置按鈕,直接在菜單中顯示點擊,所以在res里面的menu文件夾下新建一個.xml文件(也可以用默認的),在里面設置一個item(這里用默認的main.xml):

<menu
...
    <item
        android:id="@+id/id_map_location"
        android:showAsAction="never"
        android:title="我的位置"/>
</menu>



4.進行main.java的編寫:


public class MainActivity extends Activity {


        ...


        //定義相關定位變量

private LocationClient mLocationClient;

private MyLocationListener myLocationListener;

private boolean isFirstIn = true;

private double mLatitude;

private double mLongtitude;

        private Context context;

        private String mAddress;


//自定義定位圖標

private BitmapDescriptor mIconLocation;


        ...


       protected void onCreate(Bundle savedInstanceState) {


             ...


             initLocation();//定位函數

      

             ...

       }  

       

private void initLocation(){

mLocationMode =LocationMode.NORMAL;//定義地圖顯示模式,這里是普通模式

mLocationClient =new LocationClient(this);//定位服務的客戶端

myLocationListener = new MyLocationListener();//定位請求回調函數

mLocationClient.registerLocationListener(myLocationListener);//注冊監聽

LocationClientOption option = new LocationClientOption();//設置定位參數

option.setCoorType("bd09ll");//返回百度地圖地標

option.setIsNeedAddress(true);//返回定位位置

option.setOpenGps(true);//打開GPS

option.setScanSpan(1000);//每1000ms掃描一次定位

mLocationClient.setLocOption(option);//設置LocationClientOption


//初始化圖標,記得在res下的drawable文件下貼上自定義的圖片

mIconLocation = BitmapDescriptorFactory.fromResource(R.drawable.test1);

       }


        //在onStart里面開啟定位


        protected void onStart() {

super.onStart();

mBaiduMap.setMyLocationEnabled(true);

if(!mLocationClient.isStarted())

mLocationClient.start();

}


        //在onStop里面停止定位

protected void onStop() {

super.onStop();

mBaiduMap.setMyLocationEnabled(false);

mLocationClient.stop();

}


        //這個是每個工程自定義的Menu監聽,監聽item是否被選中

public boolean onCreateOptionsMenu(Menu menu) {

getMenuInflater().inflate(R.menu.main,menu);

return true;

}


        //選中item時的動作定義

public boolean onOptionsItemSelected(MenuItem item) {

switch (item.getItemId()) {

        case R.id.id_map_location:

        LatLng latLng = new LatLng(mLatitude, mLongtitude);//取得目前位置的經緯度

MapStatusUpdate msu = MapStatusUpdateFactory.newLatLng(latLng);//更新經緯度

mBaiduMap.animateMapStatus(msu);//以動畫方式更新地圖狀態

        Toast.makeText(context,mAddress,Toast.LENGTH_SHORT).show();//顯示位置信息

                break;

default:

break;

}

return super.onOptionsItemSelected(item);

}


private class MyLocationListener implements BDLocationListener{

public void onReceiveLocation(BDLocation location){

MyLocationData data = new MyLocationData.Builder()//

   .accuracy(location.getRadius())//

   .latitude(location.getLatitude())//

   .longitude(location.getLongitude())//

   .build();

mBaiduMap.setMyLocationData(data);


   //設置自定義圖標

   MyLocationConfiguration config = new MyLocationConfiguration(mLocationMode, true, mIconLocation);

mBaiduMap.setMyLocationConfigeration(config);

            

//更新經緯度

mLatitude = location.getLatitude();

mLongtitude = location.getLongitude();

 if(isFirstIn)

{   

LatLng latLng = new LatLng(location.getLatitude(), location.getLongitude());

MapStatusUpdate msu = MapStatusUpdateFactory.newLatLng(latLng);

mBaiduMap.animateMapStatus(msu);

isFirstIn = false;

        mAddress = location.getAddrStr();

Toast.makeText(context,mAddress,Toast.LENGTH_SHORT).show();

}

  

}

}

}



    這里已經實現了簡單的定位功能,小伙伴們可以嘗試一下~

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

湟源县| 榕江县| 疏勒县| 龙井市| 吉木乃县| 若羌县| 比如县| 崇左市| 五指山市| 油尖旺区| 安顺市| 昆山市| 板桥市| 商水县| 北川| 云安县| 阿拉善左旗| 敦煌市| 商丘市| 鸡西市| 凭祥市| 彰化市| 秦皇岛市| 涪陵区| 余庆县| 正定县| 湘乡市| 抚松县| 仪征市| 嘉兴市| 武邑县| 山阴县| 大同县| 乌兰察布市| 林州市| 界首市| 杭州市| 体育| 达州市| 临海市| 平凉市|