開発環境:
アンドロイドスタジオ
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は、依存関係をインポートするだけで済みます。機能面はさらにテストする必要があります。