android stuido高德地图,Android Studio 中实现高德定位并获取相应信息

Android开发项目时常常会遇到定位这个功能,所以写了这篇博客,今天主要讲的高德地图的定位并获取相应信息。

首先导入高德的jar包

35653a77d106bd5f9d5f12ee73a97826.png

选中jar包右键点击  Add As Library, 在build.fradle中看到如下代码 表示导包成功

compile files('libs/AMap_Location_V3.0.0_20160922.jar')

之后到高德申请key值,登录打开控制台 点击创建应用,如图:

ab1c3ea608c2bd3b96b32925e408f01e.png

填写相应信息,

名称,PackageName:项目的包名,至于SHA1安全码可以这样获取,可以 Window+R 打开控制台  输入cmd点击确定

21a3b05983dc21b8079403054989c198.png

之后在弹框中完成以下操作就可以看到SHA1安全码了

ee1d5ba2946ee6a1546c5110f6068d5b.png

上图的密钥库口令默认的是:android       (注:输入口令是看不见的,输入完成Enter即可)

输入完信息确定就可以看到key值了

7853a393bb0b3700b71bbbe396ab170d.png

AndroidManifest.xml中加入权限

标签中添加Key值信息

android:name="com.amap.api.v2.apikey"

android:value="ad6c99f7853c8bdce5bd35c5d3cbee76" >

MainActivity.Java

public class MainActivity extends AppCompatActivity implements AMapLocationListener {

private AMapLocationClient locationClient = null;

private AMapLocationClientOption locationOption = null;

private TextView textView;

private String[] strMsg;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

textView = (TextView) findViewById(R.id.text_map);

Location();

}

@Override

public void onLocationChanged(AMapLocation loc) {

if (null != loc) {

Message msg = mHandler.obtainMessage();

msg.obj = loc;

msg.what = Utils.MSG_LOCATION_FINISH;

mHandler.sendMessage(msg);

}

}

Handler mHandler = new Handler() {

public void dispatchMessage(android.os.Message msg) {

switch (msg.what) {

//定位完成

case Utils.MSG_LOCATION_FINISH:

String result = "";

try {

AMapLocation loc = (AMapLocation) msg.obj;

result = Utils.getLocationStr(loc, 1);

strMsg = result.split(",");

Toast.makeText(MainActivity.this, "定位成功", Toast.LENGTH_LONG).show();

textView.setText("地址:" + strMsg[0] + "\n" + "经 度:" + strMsg[1] + "\n" + "纬 度:" + strMsg[1]);

} catch (Exception e) {

Toast.makeText(MainActivity.this, "定位失败", Toast.LENGTH_LONG).show();

}

break;

default:

break;

}

};

};

public void Location() {

// TODO Auto-generated method stub

try {

locationClient = new AMapLocationClient(this);

locationOption = new AMapLocationClientOption();

// 设置定位模式为低功耗模式

locationOption.setLocationMode(AMapLocationClientOption.AMapLocationMode.Battery_Saving);

// 设置定位监听

locationClient.setLocationListener(this);

locationOption.setOnceLocation(true);//设置为单次定位

locationClient.setLocationOption(locationOption);// 设置定位参数

// 启动定位

locationClient.startLocation();

mHandler.sendEmptyMessage(Utils.MSG_LOCATION_START);

} catch (Exception e) {

Toast.makeText(MainActivity.this, "定位失败", Toast.LENGTH_LONG).show();

}

}

}

运行效果如图:

82a781c21bb3ae16b4341ac3b258c499.png

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值