Baiduの地図SDK Androidの開発

モバイル開発の特徴としては、マップ機能は絶対に不可欠です。次に、我々は、エントリのレベルに到達するために、小さなプロジェクトを通ってきます。

最初のキーを適用することで、その後、プロジェクトに設定され、私は複数の項目が自分のBaiduのを知っている必要はありませんが存在する場合の開発ツールは、Androidのメーカーです使用しました。その後、我々は、独自のプロジェクトを作成する作業を開始し、

我々は最初のテキストは、その場所の詳細を表示する使用して、レイアウトファイルのTextViewコントロールに追加、これは難しいことではありません。その後、我々は、位置情報サービスをオンにする方法、で手と足の展示活動に必要ですか?

私たちはあなたにも書くことができ、あなたがこれを書くことができ、我々はコンテキストに渡す必要があるオブジェクトを、インスタンス化することによってLocationClientを必要とします

getApplicationContext()
そして、それを呼び出します
registerLocationListener新しい MyLocationListener())
括弧は、当社の登録されたリスナーは、リスナーの実現であります
BDLocationListenerの言い訳は、我々は内部のリスナーに必要
onReceiveLocation()コード内のいくつかのロジックを記述するための方法は、我々はBDLocationListener追加注意を払うブラケットに必要
DLocationnListenerターゲットはもちろん、機能を位置決めした後、返されたデータ、私たちの現在のデータによって運ばれるオープンデータにある実際には、オブジェクト
ので、もう一度、と読むことができません

私たちは情報を見て方法を知っているいくつかのロジックコードを書くonReceiveLocation()メソッドは、目的がなることです。
******** 
我々のようにする必要があり
mLocationClient = 新しい新しい LocationClient(getApplicationContext());
 mLocationClient .registerLocationListener(新しい新しい MyLocationListener());
 リスナー登録
後添加を
SDKInitializer。初期化(getApplicationContext())。
setContentView(R.layout。activity_main);
一覧<文字列> permissionList = 新しい ArrayListを<>();
もし(ContextCompat checkSelfPermission。(MainActivity 。、Manifest.permission ACCESS_FINE_LOCATION!)= PackageManager PERMISSION_GRANTED){ 
    permissionList.add(Manifest.permission ACCESS_FINE_LOCATION)。
} であれば(ContextCompat。checkSelfPermission(MainActivity。この、Manifest.permission。READ_PHONE_STATE)= PackageManager!。PERMISSION_GRANTED){ 
    permissionList.add(Manifest.permission。READ_PHONE_STATE)。
}

もし(ContextCompat checkSelfPermission。(MainActivity 。、Manifest.permission WRITE_EXTERNAL_STORAGE!)= PackageManager PERMISSION_GRANTED){ 
    permissionList.add(Manifest.permission WRITE_EXTERNAL_STORAGE)。
} もし(!permissionList.isEmpty()){ 
    String []型の権限= permissionList.toArray(新しい文字列[permissionList.size()])。
    ActivityCompat。requestPermissions(MainActivity。このパーミッション、1)。
}  { 
    requestLocation(); //所有如果权限都同意了的
次に始まります
 
 
requestLocation()メソッドたロジック
} // アプリケーションの権限 携帯電話を実行している 6.0 のランタイム許可の導入、

プライベート無効 requestLocation(){
}
在这个方法里面我们需要开始我们的第一次定位了,定位的话我们一定需要
LocationClientOption对象的一个实例,在这个对象的基础上设置一些参数
private void requestLocation() {
    LocationClientOption option = new LocationClientOption();
        option.setCoorType("bd09ll");
        option.setLocationMode(LocationClientOption.LocationMode.Hight_Accuracy);
        option.setScanSpan(5000);
        option.setIsNeedAddress(true);
        //表示我们需要当前位置的详细信息
        option.setOpenGps(true);
        option.setNeedDeviceDirect(true);
        mLocationClient.setLocOption(option);//最后一定要有这个方法,用来保证前面设置的一些参数可以实现
        //创建一个LocationClientOption对象,并且进行初始化设置,记好最后一定要在
        // onDestory()メソッドは、電気のコストを防ぐために破壊されます
    }
設定が完了したら、私たちはあなたの場所をオンにしないでください、私達はちょうどセットの測位モードを、そして、私たちは、このメソッド内にある
追加するには
baiduMap .setMyLocationEnabled(真の); // ポジショニングのデフォルト
 mLocationClient .start();
 //は戻って私たちの前の登録リスナーの内部に立地、結果の場所をオンにします
さて、現在我々が置か 開くようにアップ。
位置付け内部たちの以前登録されたリスナーに戻るには、自然の結果

そして、 私たちは自分のものの内部リスナーに達成する必要があります
public class MyLocationListener implements BDLocationListener {

        @Override
        public void onReceiveLocation(BDLocation location) {
            StringBuilder currentPosition = new StringBuilder();
            currentPosition.append("纬度:").append(location.getLatitude()).append("\n");
            currentPosition.append("经线:").append(location.getLongitude()).append("\n");
            currentPosition.append("国家:").append(location.getCountry()).append("\n");
           currentPosition.append("省:").append(location.getProvince()).append("\n");            currentPosition.append("市:").append(location.getCity()).append("\n");
           currentPosition.append("区:").append(location.getDistrict()).append("\n");
            currentPosition.append("街道:").append(location.getStreet()).append("\n");
            currentPosition.append("定位方式:");
           if (location.getLocType() == BDLocation.TypeGpsLocation) {
               currentPosition.append("GPS");           } else if (location.getLocType() == BDLocation.TypeNetWorkLocation) {
              currentPosition.append("网络")}
            positionText.setText(currentPosition);
            
            
        }

    }
ここで、我々は置きます
 
 
 
 
BDLocation ターゲットバンドデータ
 
 
 
 
getProvince()または
 
 
 
 
getLongitude()メソッドは、交換すると私たちは情報を理解見ることができます。
この 時間は、私たちが主位置決め機能を完了しているが、我々は、我々はプログラムから撤退しなければならないので、位置決めがパワー多くの作業であることを覚えておく必要が
シャットダウンの位置です。
@Override
 保護ボイド onDestroy(){
     スーパー .onDestroy();
     mLocationClient .stopは();
     // ストップが配置しました
 }    
    

文書は教師郭林の著作に基づいており、自分の理解の外に遊んで、また、独自の携帯電話の効果を達成するため、おそらくBaiduの書かれた記事があるだろう、マップSDK
があれば一緒に科学を子供の靴を学びますしてください






公開された37元の記事 ウォン称賛10 ビュー10000 +

おすすめ

転載: blog.csdn.net/OneLinee/article/details/78279815