首先注册高德成为开发者(打开高德地图,点击底部的开发者平台),创建应用,按照要求填写相应信息
网站:http://lbs.amap.com/api/android-sdk/guide/create-project/get-key
途中包含了发布版的SHA1安全码和测试版SHA1安全码,两者的值可以看
照做就一定会获取的。
这里我讲发布版和调试版都用的relase版本的sha1
之后再去下载相应的Jar包,这里我用的是
3D地图的jar包
注意:2D地图的jar包,与3D地图的jar包因为接口有一样的,导致冲突无法使用。
在jnilibs下放入一下文件
因为有些人的android studio无法显示,但又不报错(我就这样)。你就需要将以上红圈类容放入libs,才能显示
之后在
将导入的jar包添加到类包;
选择,找到于自己名字一样的Jar,添加就可以了。之后检查在build.gradle 是否添加了以下类容
compile files('libs/AMap3DMap_5.1.0_AMapSearch_5.1.0_AMapLocation_3.4.0_20170518.jar')
compile 'com.android.support:appcompat-v7:24.2.1'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
testCompile 'junit:junit:4.12'
并且设置jar包的位置为libs
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
在androidManifest.xml中添加自己的添加权限
<!-- 用于进行网络定位 -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<!-- 用于访问GPS定位 -->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<!-- 用于获取运营商信息,用于支持提供运营商信息相关的接口 -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!-- 用于访问wifi网络信息,wifi信息会用于进行网络定位 -->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<!-- 用于获取wifi的获取权限,wifi信息会用来进行网络定位 -->
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<!-- 用于访问网络,网络定位需要上网 -->
<uses-permission android:name="android.permission.INTERNET" />
<!-- 用于读取手机当前的状态 -->
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<!-- 用于写入缓存数据到扩展存储卡 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!-- 用于申请调用A-GPS模块 -->
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<!-- 用于申请获取蓝牙信息进行室内定位 -->
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
添加自己的key
<meta-data
android:name="com.amap.api.v2.apikey"
android:value="你的key" />
添加定位方法
<service android:name="com.amap.api.location.APSService" />
在Activity_main.xml中添加
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/text1"/>
<com.amap.api.maps.MapView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/map">
</com.amap.api.maps.MapView>
在MainActivty的主代码
public class MainActivity extends AppCompatActivity implements AMapLocationListener,GeocodeSearch.OnGeocodeSearchListener {
private Button button;