Android开发丶基于高德地图实现定位、搜索定位、绘制圆圈自定义图标及改变圆圈半径等功能

前一段时间接了个需求,进入一个地图界面,可以获取当前位置信息,通过输入位置信息获取位置,绘制圆圈并可以实时改变圆圈半径等功能,地图SDK我们使用的是高德地图,仔细阅读了开发文档,发现这些需求都可以通过SDK自带的方法来实现,在此做一下整理。

下面说下实现流程

1.打开AndroidStudio新建一个测试项目,新建一个签名文件testkeystore.keystore。

步骤如下:

点击Build—>Generate Signed Bundle/APK

进入配置签名文件界面,我们选择new一个,当然也可以选择已有的,这个根据实际情况。

下面我们配置app安装时(debug模式)下的自动签名。

点击Build—>Edit Build Types

填写签名文件的路径,名称,密码等信息

点击ok,我们会发现gradle文件下会生成这些信息,即配置成功

这下我们直接安装的apk都是签过名的了。

2.接下来,打开高德地图开发者平台,注册账号,新建应用,填写信息。S

SHA1码等参数获取平台均有方法,这里不再赘述。

最后会给新建的这个应用生成一个key。

3.下载Android地图SDK,按照文档把这些jar包,so包都配置完毕,这里不再赘述。

4.打开AndroidManifest清单文件,先填写所需的权限。

<!--允许程序打开网络套接字-->
<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" />

5.接下来配置秘钥节点meta,这里值得一提的是该节点必须放在application节点里,否则会发生INVALID_USER_KEY错误提示,别问我怎么知道的.........

<!--高德地图配置-->
<meta-data
    android:name="com.amap.api.v2.apikey"
    android:value="e785b21088b10797e869eb8bceee61d3" />

6.在视图Activity的XML文件中配置地图控件

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

7.在视图Activity里配置控件。

//在activity执行onCreate时执行mMapView.onCreate(savedInstanceState),创建地图
mapView.onCreate(savedInstanceState);
@Override
protected void onDestroy() {
    super.onDestroy();
    //在activity执行onDestroy时执行mMapView.onDestroy(),销毁地图
    mapView.onDestroy();
}
@Override
protected void onResume() {
    super.onResume();
    //在activity执行onResume时执行mMapView.onResume (),重新绘制加载地图
    mapView.onResume();
}
@Override
protected void onPause() {
    super.onPause();
    //在activity执行onPause时执行mMapView.onPause (),暂停地图的绘制
    mapView.onPause();
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值