Divided into map, location and search (I haven't done navigation yet)
gradle integration is recommended
Add dependency
Add jcenter's warehouse address under the project/build.gradle file
allprojects { repositories { jcenter() // Or Maven central () } }
Add dependency under app/build.gradle
android { defaultConfig { ndk { //Set the supported so Library Architecture (developers can select one or more platforms' so as required) abiFilters "armeabi", "armeabi-v7a", "arm64-v8a", "x86","x86_64" } } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) //3D map so and jar compile 'com.amap.api:3dmap:latest.integration' //Positioning function compile 'com.amap.api:location:latest.integration' //Search function compile 'com.amap.api:search:latest.integration' }
navi navigation SDK later than 5.0.0 includes the 3D map SDK, so please do not introduce map3d and navi SDK at the same time.
add permission
Add permissions under the AndroidManifest.xml file
<! -- allow programs to open network sockets -- > <uses-permission android:name="android.permission.INTERNET" /> <! -- allow program to set write permission of bui lt-in sd card -- > <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <! -- allow programs to get network status -- > <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <! -- allow programs to access WiFi network information -- > <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <! -- allow programs to read and write mobile phone status and identity -- > <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <! -- allow programs to access CellID or WiFi hotspot to get rough location -- > <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
Add GoldKey
How to get key? Here - > Click me to view the method to obtain the necessary data SHA1 and package name for Key registration
It is suggested to set the key in debug and release state at the same time, so that the App can also use the function of Gaud map in debug mode
Set two kinds of key s under app/build.gradle
android { buildTypes { debug { manifestPlacesholders = [ //The left key map? API? Key is a custom name, and the right debug key value is the key value under the debug you applied for "MAP_API_KEY" : "debug-key-value" ] } release{ manifestPlacesholders = [ //The key map API key on the left should be consistent with that under debug. The release key value on the right is the key value under the release you applied for "MAP_API_KEY" : "release-key-value" ] } } }
Add key to Android manifest.xml
<application> <meta-data android:name="com.amap.api.v2.apikey" //To be consistent with the settings in the app/build.gradle file android:value="${MAP_API_KEY}"/> </application>
Use map
Map MapView in layout
// R.layout.activity_your_activity <com.amap.api.maps.MapView android:id="@+id/map" android:layout_width="match_parent" android:layout_height="match_parent"/>
Manage map lifecycle (very important), take Activity as an example
public class YourActivity extends AppcompatActivity{ MapView mMapView = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_your_activity); //Get map control reference mMapView = (MapView) findViewById(R.id.map); //When the activity executes onCreate, execute mMapView.onCreate(savedInstanceState) to create the map mMapView.onCreate(savedInstanceState); } @Override protected void onDestroy() { super.onDestroy(); //When the activity executes onDestroy, execute mMapView.onDestroy() to destroy the map mMapView.onDestroy(); } @Override protected void onResume() { super.onResume(); //Execute mMapView.onResume() when the activity executes onResume() to redraw the loading map mMapView.onResume(); } @Override protected void onPause() { super.onPause(); //Execute mMapView.onPause() when activity executes onPause to pause map drawing mMapView.onPause(); } @Override protected void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); //When the activity executes onSaveInstanceState, execute mMapView.onSaveInstanceState (outState) to save the current state of the map mMapView.onSaveInstanceState(outState); } }
Construct an AMap object
if(mAMap == null){ mAMap = mapView.getMap(); }
Initialize map related properties
- Map zoom level
mAMap.animateCamera(CameraUpdateFactory.zoomTo(float zoomLevel));
Show anchor blue dots
To be continued