分为地图,定位,搜索(我还没做导航功能)建议采用gradle方式集成添加依赖在project/build.gradle文件下添加jcenter的仓库地址allprojects { repositories { jcenter() // 或者 mavenCentral() } }在app/build.gradle下添加依赖android { defaultConfig { ndk { //设置支持的SO库架构(开发者可以根据需要,选择一个或多个平台的so) abiFilters “armeabi”, “armeabi-v7a”, “arm64-v8a”, “x86”,“x86_64” } }}dependencies { compile fileTree(dir: ’libs’, include: [’*.jar’]) //3D地图so及jar compile ‘com.amap.api:3dmap:latest.integration’ //定位功能 compile ‘com.amap.api:location:latest.integration’ //搜索功能 compile ‘com.amap.api:search:latest.integration’}navi导航SDK 5.0.0以后版本包含了3D地图SDK,所以请不要同时引入 map3d 和 navi SDK。添加权限在AndroidManifest.xml文件下添加权限 <!–允许程序打开网络套接字–><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” /> 添加高德key如何获取key看这里 -> 点我查看Key注册时必要数据SHA1和包名的获取方法建议同时设置debug和release状态下的key,方便App在debug模式下也能使用高德地图功能.在app/build.gradle下设置两种key android { buildTypes { debug { manifestPlacesholders = [ //左边的键MAP_API_KEY是自定义的名字,右边的debug-key-value是你申请的debug下的key值 “MAP_API_KEY” : “debug-key-value” ] } release{ manifestPlacesholders = [ //左边的键MAP_API_KEY要和debug下的保持一致,右边的release-key-value是你申请的release下的key值 “MAP_API_KEY” : “release-key-value” ] } } }在AndroidManifest.xml中添加key <application> <meta-data android:name=“com.amap.api.v2.apikey” //要和app/build.gradle文件中设置的保持一致 android:value="${MAP_API_KEY}"/> </application>使用地图在布局中引入地图MapView // R.layout.activity_your_activity <com.amap.api.maps.MapView android:id="@+id/map" android:layout_width=“match_parent” android:layout_height=“match_parent”/>管理地图的生命周期(非常重要),以Activity为例 public class YourActivity extends AppcompatActivity{ MapView mMapView = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_your_activity); //获取地图控件引用 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); } }构造一个AMap对象 if(mAMap == null){ mAMap = mapView.getMap(); }初始化地图的相关属性地图缩放级别mAMap.animateCamera(CameraUpdateFactory.zoomTo(float zoomLevel));显示定位蓝点未完待续