Tencentロケーションサービス使用チュートリアルAndroidバージョン

開発環境:
アンドロイドスタジオ

1つ:環境を準備する

1.まず、Tencent開発アカウントを持っている必要があります。
ポータル:https//lbs.qq.com/
そして入力後に登録します。
2. APPKeyを取得します。3。AndroidManifest.xml
ここに写真の説明を挿入
ファイルでAPPKeyを構成します。

<application>
    ...
    <meta-data android:name="TencentMapSDK" android:value="您申请的Key" />
</application>

4. AndroidStudio
インポートする方法は実際には2つあります。1つはjarパッケージを直接インポートする方法、もう1つは依存関係を追加する方法です。2番目のタイプの方がはるかに便利なので、2番目のタイプを選択しました。この観点から、Tencentの位置付けはBaiduよりもはるかに優れています。彼は前学期にバイドゥを使用しました。
1. build.gradleの構成を変更し
ここに写真の説明を挿入
、次の構成追加します。

llprojects {
    
    
    repositories {
    
    
        jcenter()
        google()
        mavenCentral()
    }
}

2.2番目のbuild.gradleファイルの依存関係に依存関係を追加します

implementation 'com.tencent.map.geolocation:TencentLocationSdk-openplatform:7.2.6'

5.AndroidManifest.xmlファイルに権限を追加します。

<!-- 通过GPS得到精确位置 -->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<!-- 通过网络得到粗略位置 -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<!-- 访问网络. 某些位置信息需要从网络服务器获取 -->
<uses-permission android:name="android.permission.INTERNET" />
<!-- 访问WiFi状态. 需要WiFi信息用于网络定位 -->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<!-- 修改WiFi状态. 发起WiFi扫描, 需要WiFi信息用于网络定位 -->
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<!-- 访问网络状态, 检测网络的可用性. 需要网络运营商相关信息用于网络定位 -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!-- 访问网络的变化, 需要某些信息用于网络定位 -->
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<!-- 访问手机当前状态, 需要device id用于网络定位 -->
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<!-- 支持A-GPS辅助定位 -->
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<!-- 用于 log 日志 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

前の準備が完了してから、コード部分を開始します

2:コーディング部分

1.TencentLocationManagerのインスタンスを取得します

TencentLocationManager  mLocationManager = TencentLocationManager.getInstance(this);

2.ロケーションリスナーを作成します

public class MyActivity extends Activity implements TencentLocationListener {
    
    
    ...
  
    @Override
    public void onLocationChanged(TencentLocation location, int error, String reason) {
    
    
        // 用于接收定位结果
    }
  
    @Override
    public void onStatusUpdate(String name, int status, String desc) {
    
    
        //用于接收GPS、WiFi、Cell状态码,
    }          
}

3.TencentLocationRequestを作成します

TencentLocationRequest request = TencentLocationRequest.create()
//1.用户可以自定义定位间隔,事件单位为毫秒,不得小于1000毫秒
        request.setInterval(1000);
        //2.设置请求级别
        request.setRequestLevel(TencentLocationRequest.REQUEST_LEVEL_NAME);
        //3.是否允许使用GPS(建议用户开启,在室外场景可以显著提升定位精度);
        request.setAllowGPS(true);
        //4.是否需要获取传感器方向
        request. setAllowDirection(true);
        //5.是否需要开启室内定位
        request.setIndoorLocationMode(true);
       
       

内部の要求レベルはカスタマイズできます。参照テーブルは次のとおりです
ここに写真の説明を挿入
。4。連絡先の場所の要求を開始します(開始場所)

 mLocationManager.requestLocationUpdates(request,this);

5.位置決めを停止します


       // mLocationManager.removeUpdates(this);

6.ポジショニング結果:
ここに写真の説明を挿入

3:バイドゥとテンセントの比較

個人的には、TencentのSDKは、Baiduよりもはるかにシンプルで使いやすいと感じています。Baiduのプロジェクトパッケージ名はローカルのものと一致している必要がありますが、Tencentのロケーションサービスにはこの制限がなく、中国語の名前でも使用できます。SDK Tencentは、依存関係をインポートするだけで済みます。機能面はさらにテストする必要があります。

おすすめ

転載: blog.csdn.net/qq_44867340/article/details/112445684
おすすめ