腾讯地图SDKAndroid版开发 1 配置

前言

本文主要介绍如何使用百度地图SDK开发Android地图应用。

准备工作:

申请腾讯地图key 入口
申请Key 教程
下载地图开发包 入口

本文下载版本 2024-04-30 TencentMapSDK_3D_v5.6.0

主要步骤:

  1. 创建工程
  2. 配置地图开发包
  3. 显示地图
  4. 运行效果

步骤1 创建工程

  1. AndroidStudio 选择菜单 FileNewNew Project... ,打开 New Project 对话框;
  2. 选择模板 Empty Views Activity,单击Next
  3. 项目参数参考如下,设置后,单击Finish
参数
Namemapdemo
Package namecom.example.mapdemo
Save location默认路径或自定义路径即可
LanguageJava
Minimum SDK默认推荐即可
  1. 至此创建项目完成,目录结构如下:
├── app
│   ├── build.gradle
│   ├── libs
│   ├── proguard-rules.pro
│   └── src
│       ├── androidTest
│       ├── main
│       └── test
├── build.gradle
├── gradle
│   └── wrapper
│       ├── gradle-wrapper.jar
│       └── gradle-wrapper.properties
├── gradle.properties
├── gradlew
├── gradlew.bat
├── local.properties
└── settings.gradle

步骤2 配置地图开发包

拷贝开发包

  • 将下载的地图包解压,拷贝至app/libs目录。
app/libs/
├── arm64-v8a
│   ├── libtmsqmp.so
│   ├── libtxmapengine.so
│   └── libtxmapvis.so
├── armeabi
│   ├── libtmsqmp.so
│   ├── libtxmapengine.so
│   └── libtxmapvis.so
├── armeabi-v7a
│   ├── libtmsqmp.so
│   ├── libtxmapengine.so
│   └── libtxmapvis.so
├── x86
│   ├── libtmsqmp.so
│   ├── libtxmapengine.so
│   └── libtxmapvis.so
├── x86_64
│   ├── libtmsqmp.so
│   ├── libtxmapengine.so
│   └── libtxmapvis.so
└── tencent-mapsdk-android-official-release.5.6.0.238fee88.jar

配置jniLibs目录

  • 文件 app/build.gradle,配置sourceSets标签。
android {
    sourceSets {
        main {
            jniLibs.srcDir 'libs'
        }
    }
}

配置依赖

  • 文件 app/build.gradledependencies中添加依赖项。
dependencies {
		// 地图包依赖
    implementation files('libs/tencent-mapsdk-android-official-release.5.6.0.238fee88.jar')
}

配置开发密钥(AK)

  • 文件 AndroidManifest.xml application标签中,配置申请好的开发密钥(AK)。
<application>  
    <meta-data  
        android:name="TencentMapSDK"  
        android:value="开发者 key" />  
</application>

地图权限配置

  • 文件 AndroidManifest.xml manifest标签中添加地图包网络和存储的权限。
<manifest>
    <!--访问网络获取地图服务-->
    <uses-permission android:name="android.permission.INTERNET"/>
    <!--检查网络可用性-->
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <!-- 访问WiFi状态 -->
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <!--需要外部存储写权限用于保存地图缓存-->
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <!--获取 device id 辨别设备-->
    <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
</manifest>

地图初始化

  1. 自定义Application类;
  2. AndroidManifest.xml 中声明该Application类;
  3. 隐私合规接口,初始化地图,设置坐标类型。
  • DemoApp 类完整代码如下:
package com.example.mapdemo;

import android.app.Application;

import com.tencent.tencentmap.mapsdk.maps.TencentMapInitializer;

public class DemoApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();

        /**
         * 设置用户是否同意隐私协议
         * 需要在初始化地图之前完成,传入true后才能正常使用地图功能
         * @param isAgree 是否同意隐私协议
         */
        TencentMapInitializer.setAgreePrivacy(true);
    }
}
  • 文件 app/build.gradleapplication中配置自定义Application类。
<application
        android:name=".DemoApp"
>
</application>

步骤3 显示地图

布局文件

  • activity_main.xml 中添加地图视图。
<com.tencent.tencentmap.mapsdk.maps.TextureMapView
    android:id="@+id/mapview"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

地图Activity

  • MainActivity管理地图视图生命周期。完整代码如下:
package com.example.mapdemo;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;

import com.tencent.tencentmap.mapsdk.maps.TextureMapView;

public class MainActivity extends AppCompatActivity {
    TextureMapView mapView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mapView = findViewById(R.id.mapview);
        mapView.setOpaque(false);
    }

    @Override
    protected void onStart() {
        super.onStart();
        mapView.onStart();
    }

    @Override
    protected void onResume() {
        super.onResume();
        mapView.onResume();
    }

    @Override
    protected void onPause() {
        super.onPause();
        mapView.onPause();
    }

    @Override
    protected void onStop() {
        super.onStop();
        mapView.onStop();
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        mapView.onDestroy();
    }

    @Override
    protected void onRestart() {
        super.onRestart();
        mapView.onRestart();
    }
}

步骤4 运行效果

在这里插入图片描述

  • 20
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在uni-app中使用腾讯地图SDK,需要先在腾讯地图开放平台申请开发者账号,然后创建应用并获取到腾讯地图SDK的App Key。接下来,可以按照以下步骤来集成腾讯地图SDK到uni-app项目中: 1. 在uni-app项目中的manifest.json文件中,添加以下配置: ``` "permission": { "android": { "name": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION", "android.permission.READ_PHONE_STATE", "android.permission.WRITE_EXTERNAL_STORAGE", "android.permission.READ_EXTERNAL_STORAGE", "android.permission.ACCESS_NETWORK_STATE", "android.permission.ACCESS_WIFI_STATE", "android.permission.INTERNET" ] } }, "app-plus": { "modules": { "tencentmap": { "version": "1.0.0", "provider": "xxxxx" // 申请开发者账号时填写的公司名称或个人名字 } } } ``` 2. 将下载的腾讯地图SDK的jar包和so文件放到uni-app项目的unpackage文件夹下的lib文件夹中。 3. 在uni-app项目中的vue文件中,使用以下代码来调用腾讯地图SDK: ``` <template> <div id="map-container"></div> </template> <script> export default { mounted() { const map = new plus.maps.Map("map-container", { zoom: 15, center: {lat: 39.92, lng: 116.46} }); const marker = new plus.maps.Marker({position: {lat: 39.92, lng: 116.46}}); map.addOverlay(marker); } } </script> ``` 以上代码创建了一个地图容器,并在地图上添加了一个标记点。 需要注意的是,在使用腾讯地图SDK时,需要在manifest.json文件中配置权限,并且需要在使用地图相关功能时,用户需要授权给应用访问位置信息的权限。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值