高德地图SDK Android版开发 1 配置

前言

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

准备工作:
申请高德地图密钥 入口
申请密钥 教程
下载地图开发包 入口

本文下载2D地图合包 AMap2DMap_6.0.0_AMapSearch_9.7.2_AMapLocation_6.4.5_20240508.aar

包名和版本信息:

  • 2D地图SDK V6.0.0(包名:com.amap.api.map2d)
  • 搜索SDK V9.7.2(包名:com.amap.api.search)
  • 定位SDK V6.4.5(包名:com.amap.api.location)

包体积:1.40MB
更新时间:2024-05-13

主要步骤:

  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默认推荐即可
Build configuration languageGroovy DSL (build.gradle)
  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
└── AMap2DMap_6.0.0_AMapSearch_9.7.2_AMapLocation_6.4.5_20240508.aar

配置jniLibs目录

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

配置依赖

  • 文件 app/build.gradledependencies中添加依赖项。
dependencies {
		// 地图包依赖
    implementation files('libs/AMap2DMap_6.0.0_AMapSearch_9.7.2_AMapLocation_6.4.5_20240508.aar')
}

配置开发密钥

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

地图权限配置

  • 文件 AndroidManifest.xml manifest标签中添加地图包定位、网络和存储的权限。
<manifest>
    <!-- 允许程序访问CellID或WiFi热点来获取粗略的位置 -->
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
    <!-- 允许程序打开网络套接字 -->
    <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" />
    <!-- 允许程序设置内置sd卡的写权限 -->
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
</manifest>

地图初始化

步骤3 显示地图

布局文件

  • activity_main.xml 中添加地图视图。
<com.amap.api.maps2d.MapView
    android:id="@+id/map"
    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.amap.api.maps2d.MapView;

public class MainActivity extends AppCompatActivity {
    private MapView mapView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mapView = findViewById(R.id.map);
        // 创建地图
        mapView.onCreate(savedInstanceState);
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        // 销毁地图
        mapView.onDestroy();
    }

    @Override
    protected void onResume() {
        super.onResume();
        // 重新绘制加载地图
        mapView.onResume();
    }

    @Override
    protected void onPause() {
        super.onPause();
        // 暂停地图的绘制
        mapView.onPause();
    }

    @Override
    protected void onSaveInstanceState(Bundle outState) {
        super.onSaveInstanceState(outState);
        // 保存地图当前的状态
        mapView.onSaveInstanceState(outState);
    }
}

步骤4 运行效果

在这里插入图片描述

  • 23
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值