安卓开发实例:高德地图

编程入门 行业动态 更新时间:2024-10-27 20:35:46

安卓开发<a href=https://www.elefans.com/category/jswz/34/1771375.html style=实例:高德地图"/>

安卓开发实例:高德地图

想要在app里面显示高德地图,遇到了很多问题,开始想显示百度地图的,个人感觉不喜欢百度地图,跟高德地图有缘,所以就弄个高德地图。
当然你可以直接看开发文档啊,慢走不送,谢谢。

示例代码我也下载了,也还是不行呢。首先当然不是新建一个页面啊!

1.下载并安装 Android Studio

我没用Android Studio,我用的是IntelliJ IDEA 2021.3.1
新建一个应用

2.获取高德Key

/
点击进入
控制台,首页,应用管理,我的应用,创建应用,应用名称随便填,应用类型也随便填。

添加Key
发布版(release)安全码SHA1如何获取?
调试版(debug)安全码SHA1如何获取?
双击这个方框就出来了呢

然后就给个Key

3.下载并安装地图开发包

/
我并没有下载,主要是下载的几个都不对。具体也不知道是哪里不对,反正是报错。
当时想可能是跟版本啥的有关系,因为有的库里面没有,提示库里找不到,Amap这个。
一共有这几种包:3D地图包,2D地图包,轻量地图包,导航包,定位包。
这几个我都下了一遍,但是好像都是有问题,运行不起来。

4.修改配置文件AndroidManifest.xml

4.1 在AndroidManifest.xml的application标签中配置Key:

    <meta-dataandroid:name="com.amap.api.v2.apikey"android:value="8464b99ee529f07ddfa00df8c2edee72"/>

4.2 在AndroidManifest.xml中配置权限:

<!--允许访问网络,必选权限-->
<uses-permission android:name="android.permission.INTERNET" />  <!--允许获取粗略位置,若用GPS实现定位小蓝点功能则必选-->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <!--允许获取设备和运营商信息,用于问题排查和网络定位,若无gps但仍需实现定位小蓝点功能则此权限必选-->
<uses-permission android:name="android.permission.READ_PHONE_STATE" />    <!--允许获取网络状态,用于网络定位,若无gps但仍需实现定位小蓝点功能则此权限必选-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />    <!--允许获取wifi网络信息,用于网络定位,若无gps但仍需实现定位小蓝点功能则此权限必选-->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <!--允许获取wifi状态改变,用于网络定位,若无gps但仍需实现定位小蓝点功能则此权限必选-->
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> <!--允许写入扩展存储,用于数据缓存,若无此权限则写到私有目录-->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <!--允许写设备缓存,用于问题排查-->
<uses-permission android:name="android.permission.WRITE_SETTINGS" />  <!--允许读设备等信息,用于问题排查-->
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> 

4.3 配置XML布局文件 在布局xml文件中添加地图控件:

  <com.amap.api.maps.MapViewandroid:id="@+id/map"android:layout_height="match_parent"android:layout_width="match_parent"/>

AndroidManifest.xml文件

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android=""xmlns:tools="" package="com.weijun901.shows"><!--允许程序打开网络套接字--><uses-permission android:name="android.permission.INTERNET" /><!--允许程序设置内置sd卡的写权限--><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><!--允许程序获取网络状态--><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.READ_PHONE_STATE" /><!--允许程序访问CellID或WiFi热点来获取粗略的位置--><uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /><applicationandroid:allowBackup="true"android:icon="@mipmap/ic_launcher"android:label="@string/app_name"android:roundIcon="@mipmap/ic_launcher_round"android:supportsRtl="true"android:theme="@style/Theme.Shows"><activityandroid:name=".Location"android:exported="true"/><activityandroid:name=".Sensor"android:exported="true"/><activityandroid:name=".DateTime"android:exported="true"/><activityandroid:name=".RandomNumber"android:exported="true"/><activityandroid:name=".MainActivity"android:exported="true"><intent-filter><action android:name="android.intent.action.MAIN"/><category android:name="android.intent.category.LAUNCHER"/></intent-filter></activity><meta-dataandroid:name="com.amap.api.v2.apikey"android:value="8464b99ee529f07ddfa00df8c2edee72"/></application>
</manifest>

我的Location.java文件是这样写的

package com.weijun901.shows;import android.app.Activity;
import android.os.Bundle;
import com.amap.api.maps.AMap;
import com.amap.api.maps.MapView;public class Location extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_location);MapView mapView = findViewById(R.id.map);mapView.onCreate(savedInstanceState);// 此方法必须重写AMap aMap = mapView.getMap();aMap.setTrafficEnabled(true);// 显示实时交通状况//地图模式可选类型:MAP_TYPE_NORMAL,MAP_TYPE_SATELLITE,MAP_TYPE_NIGHTaMap.setMapType(AMap.MAP_TYPE_NORMAL);// 卫星地图模式}
}

完整的activity_location.xml文件

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayoutxmlns:android=""xmlns:tools=""android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".Location"><com.amap.api.maps.MapViewandroid:id="@+id/map"android:layout_height="match_parent"android:layout_width="match_parent"/></androidx.constraintlayout.widget.ConstraintLayout>

还有一个重中之重app文件夹下面的build.gradle文件
依赖要写对,依赖写不对也是白费

plugins {id 'com.android.application'
}android {compileSdk 33defaultConfig {applicationId "com.weijun901.shows"minSdk 24targetSdk 33versionCode 1versionName "1.0"testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"}buildTypes {debug {applicationIdSuffix ".debug"debuggable true}release {minifyEnabled trueproguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'}}compileOptions {sourceCompatibility JavaVersion.VERSION_1_8targetCompatibility JavaVersion.VERSION_1_8}
}dependencies {implementation 'androidx.appcompat:appcompat:1.4.1'implementation 'com.google.android.material:material:1.4.0'implementation 'androidx.constraintlayout:constraintlayout:2.1.4'implementation 'com.amap.api:map2d:2.9.0'implementation 'com.amap.api:3dmap:5.0.0'testImplementation 'junit:junit:4.13.2'androidTestImplementation 'androidx.test.ext:junit:1.1.5'androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
}

然后地图就显示在模拟器上面了啊

更多推荐

安卓开发实例:高德地图

本文发布于:2023-11-15 20:49:43,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1606120.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:实例   地图   卓开发

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!