1.首先做好下边的准备:

1.1  http://lbs.amap.com/   注册账号

1.2  下载 定位sdk 和 地图sdk

下载后是这样的

1.3  对下载的进行解压

将他们加入 中,对每个jar,右键-Add As Library.

此时 build.gradle生成

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'
})
compile 'com.android.support:appcompat-v7:25.0.0'
testCompile 'junit:junit:4.12'
compile files('libs/Amap_2DMap_V4.2.0_20170209.jar')
compile files('libs/AMap_Location_V3.3.0_20170118.jar')
}

1.4 申请API Key.

首先进入控制台:

创建自己的应用

创建应用,相应的密钥 获得 参考如下 http://lbs.amap.com/faq/top/hot-questions/249

那么 开发环境已经配置好了。

2.将地图展示出来

2.1  添加用户key   刚才申请的key添加到AndroidManifest.xml中

 <application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<meta-data
android:name="com.amap.api.v2.apikey" //这个name值 不变
android:value=" " //value是上边申请的key
></meta-data>

2.2 添加所需的权限在AndroidManifest.xml

//地图包、搜索包需要的基础权限

    <uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> //定位包、导航包需要的额外权限(注:基础权限也需要)
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<!--<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" />-->
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />

2.3  在xml中 添加

<com.amap.api.maps2d.MapView
android:id="@+id/map_view"
android:layout_width="match_parent"
android:layout_height="match_parent" />

2.4 MainActivity,管理地图的生命周期

public class MainActivity extends AppCompatActivity {

    private MapView mMapView = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//获取地图控件引用
mMapView = (MapView) findViewById(R.id.map_view);
//在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);
} }

运行一下:

最新文章

  1. 用VC2010以上版本编译可以在低版本XP和2003的运行程序的方法
  2. Centos 源码安装zabbix 2.4.5
  3. SQLServer中系统存储过程sp_spaceused
  4. 如何参与一个 GitHub 开源项目?
  5. html中的alt和title用法区别
  6. 两种设计模式(1)==&gt;&gt;“简单工厂”
  7. NYOJ 21 三个水杯
  8. iOS设计模式之命令模式
  9. no ocijdbc11 in java.library.path linux
  10. jquery值ajaxForm
  11. iOS-设置状态栏白色以及覆盖状态栏
  12. Activity之间的跳转
  13. luoguP1379 八数码难题[启发式搜索]
  14. 利用rsync+inotify实现数据实时同步脚本文件
  15. 详解如何在 Linux 启动时自动执行命令或脚本
  16. 玩了下opencv的aruco(python版)
  17. 解决ERROR 1130: Host &#39;192.168.11.1&#39; is not allowed to connect to this MySQL
  18. 客户端无法重新使用 SPID 为 63 的会话,该会话已被重置用于连接
  19. Junit4用法
  20. 用node研究axios前后端交互状态码规则

热门文章

  1. 关于disable和readonly
  2. 释怀我的诺亚尔 不用EF框架,完成完美实体映射,且便于维护!(AutoMapper,petapoco)
  3. The Pilots Brothers&amp;#39; refrigerator-DFS路径打印
  4. Java基础学习之final和多态及类型转换
  5. visio2010对齐粘附功能
  6. ES6 模块化(Module)export和import详解 export default
  7. 算法4-10:BST平衡二叉树的删除操作
  8. Latex 3: 解决LaTeX编译卡顿问题
  9. Lightoj 1005 Rooks(DP)
  10. Ubuntu 12.10安装vmware-tools