在android项目开发过程中需要用到高德地图,网上查到的好多都是之前的一些开发经验,高德地图对于之前的一些方法都已经弃掉不再使用。很多博客中谈及的方法以及不再适用,同时高德地图官网的开发指南讲的不是那么详细,在刚开始使用的时候总是会进入不少误区,经过自己后来的摸索和学习,最好的学习方法就是下载官网上的demo和开发说明,自己在编译器中运行一下,了解每一个功能的实现原理,明白自己希望在自己的Android项目中加入怎样的功能,根据实现代码去做进一步的研究,这样事半功倍!同时可以在最短的时间内在自己的项目中添加上对应的功能。接下来就针对高德地图中最基本的功能(地图的显示,定位到当前位置并在地图上显示,添加对应的market),步骤如下所示:
1、创建项目;
注意配置AndroidManifest.xml,添加下列权限
<!--用于进行网络定位-->
<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>
2、高德地图开发者官网上申请新版的key,具体获取key的方法就不在这里一一阐述了,可以自行到高德官网上查看,链接如下(http://lbs.amap.com/api/android-sdk/guide/creat-project/get-key/#key)
将获取到的key配置到自己的项目中去,在下列代码区中:
<application
android:icon="@drawable/icon"
android:label="@string/app_name" >
<meta-data
android:name="com.amap.api.v2.apikey"
android:value="请输入您的用户Key"/>
……
</application>
3、为实现如下功能的代码如下:
public class LocationActivity extends Activity implements LocationSource,
AMapLocationListener {
private A