网友通过本文主要向大家介绍了Android开发学习——高德地图的实现,android高德等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
Android开发学习——高德地图的实现,android高德
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); } }
运行一下: