【android( 在APP中显示高德地图SDK)】博观而约取,厚积而薄发。这篇文章主要讲述android: 在APP中显示高德地图SDK相关的知识,希望能为你提供帮助。
一、搭建环境参考资料:http://lbs.amap.com/api/android-sdk/guide/create-project/android-studio-create-project
1)新建一个工程;2)到高德开放平台申请key,可以参考:http://lbs.amap.com/api/android-sdk/guide/create-project/get-key
3)在androidManifest.xml的application标签内添加
< meta-data
android:name="com.amap.api.v2.apikey"
android:value="https://www.songbingjia.com/android/your key" />
< service android:name="com.amap.api.location.APSService" >
4)在AndroidManifest的manifest元素内添加如下权限:
< !--用于进行网络定位-->
< uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"> < /uses-permission>
< !--用于访问GPS定位-->
< uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"> < /uses-permission>
< !--用于获取运营商信息,用于支持提供运营商信息相关的接口-->
< uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"> < /uses-permission>
< !--用于访问wifi网络信息,wifi信息会用于进行网络定位-->
< uses-permission android:name="android.permission.ACCESS_WIFI_STATE"> < /uses-permission>
< !--用于获取wifi的获取权限,wifi信息会用来进行网络定位-->
< uses-permission android:name="android.permission.CHANGE_WIFI_STATE"> < /uses-permission>
< !--用于访问网络,网络定位需要上网-->
< uses-permission android:name="android.permission.INTERNET"> < /uses-permission>
< !--用于读取手机当前的状态-->
< uses-permission android:name="android.permission.READ_PHONE_STATE"> < /uses-permission>
< !--用于写入缓存数据到扩展存储卡-->
< uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"> < /uses-permission>
< !--用于申请调用A-GPS模块-->
< uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"> < /uses-permission>
< !--用于申请获取蓝牙信息进行室内定位-->
< uses-permission android:name="android.permission.BLUETOOTH"> < /uses-permission>
< uses-permission android:name="android.permission.BLUETOOTH_ADMIN"> < /uses-permission>
5)在Project的build.gradle的如下位置添加如下代码:android{ defaultConfig{ ndk{
//设置支持的SO库架构(开发者可以根据需要,选择一个或多个平台的so)
abiFilters "armeabi", "armeabi-v7a", "arm64-v8a", "x86","arm64-v8a","x86_64"
}
} }6)在Project的build.gradle的如下位置添加如下代码,只关注高亮部分。
dependencies {
compile fileTree(dir: ‘libs‘, include: [‘*.jar‘])
androidTestCompile(‘com.android.support.test.espresso:espresso-core:2.2.2‘, {
exclude group: ‘com.android.support‘, module: ‘support-annotations‘
})
compile ‘com.android.support:appcompat-v7:25.3.1‘
compile ‘com.android.support.constraint:constraint-layout:1.0.2‘
//3D地图so及jar
compile ‘com.amap.api:3dmap:latest.integration‘
//定位功能
compile ‘com.amap.api:location:latest.integration‘
//搜索功能
compile ‘com.amap.api:search:latest.integration‘
testCompile ‘junit:junit:4.12‘
}
7)在Project的build.gradle的如下位置添加如下代码,只关注高亮部分。
二、写代码
以下内容参考:http://lbs.amap.com/api/android-sdk/guide/create-map/show-map
1)在activity_main.xml文件内添加
< com.amap.api.maps.MapView
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
2)将MainActivity.java的内容改为如下
public class MainActivity extends Activity { MapView mMapView = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //获取地图控件引用 mMapView = (MapView) findViewById(R.id.map); //在activity执行onCreate时执行mMapView.onCreate(savedInstanceState),创建地图 mMapView.onCreate(savedInstanceState); } @Override protected void onDestroy() { super.onDestroy(); //在activity执行onDestroy时执行mMapView.onDestroy(),销毁地图 mMapView.onDestroy(); } @Override protected void onResume() { super.onResume(); //在activity执行onResume时执行mMapView.onResume (),重新绘制加载地图 mMapView.onResume(); } @Override protected void onPause() { super.onPause(); //在activity执行onPause时执行mMapView.onPause (),暂停地图的绘制 mMapView.onPause(); } @Override protected void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); //在activity执行onSaveInstanceState时执行mMapView.onSaveInstanceState (outState),保存地图当前的状态 mMapView.onSaveInstanceState(outState); } }
推荐阅读
- Android-Activity的使用
- 如何获得Android设备名称(ADB命令详细介绍)
- Android NDK JNI WARNING: illegal start byte 0x
- Android之——AIDL深入
- android adb shell and monkey 学习记录
- Unity3D 怎样在安卓手机上播放视频
- android自己定义之 5.0 风格progressBar
- 202. Happy Number(LeetCode)
- Android中颜色透明度