Tencent 위치 서비스 사용 튜토리얼 Android 버전

개발 환경 :
android studio

1 : 환경 준비

1. 먼저 Tencent 개발 계정이 있어야합니다.
Portal : https://lbs.qq.com/
입력 후 등록 하십시오 .
2. APPKey를 얻습니다.
여기에 사진 설명 삽입
3. AndroidManifest.xml 파일에서 APPKey를 구성합니다.

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

4.
실제로 AndroidStudio가져 오는 방법에는 두 가지가 있습니다. 하나는 jar 패키지를 직접 가져 오는 것이고 두 번째는 종속성을 추가하는 것입니다. 두 번째 유형이 훨씬 더 편리하기 때문에 두 번째 유형을 선택했습니다. 이 관점에서 Tencent의 포지셔닝은 실제로 Baidu보다 훨씬 낫습니다. 그는 지난 학기에 Baidu를 사용했습니다.
1. build.gradle에서 구성을 수정하고
여기에 사진 설명 삽입
다음 구성을 추가합니다.

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

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 : Baidu와 Tencent의 비교

개인적으로 Tencent의 SDK는 Baidu보다 사용하기가 훨씬 간편하고 편리하다고 생각합니다. Baidu의 프로젝트 패키지 이름은 현지 이름과 일치해야하며 Tencent의 위치 서비스에는 이러한 제한이 없으며 중국어 이름도 사용할 수 있습니다. SDK Tencent는 종속성 만 가져 오면됩니다. 기능적 측면은 추가 테스트가 필요합니다.

추천

출처blog.csdn.net/qq_44867340/article/details/112445684