Android开发项目时常常会遇到定位这个功能,所以写了这篇博客,今天主要讲的高德地图的定位并获取相应信息。
首先导入高德的jar包
选中jar包右键点击 Add As Library, 在build.fradle中看到如下代码 表示导包成功
compile files('libs/AMap_Location_V3.0.0_20160922.jar')
之后到高德申请key值,登录打开控制台 点击创建应用,如图:
填写相应信息,
名称,PackageName:项目的包名,至于SHA1安全码可以这样获取,可以 Window+R 打开控制台 输入cmd点击确定
之后在弹框中完成以下操作就可以看到SHA1安全码了
上图的密钥库口令默认的是:android (注:输入口令是看不见的,输入完成Enter即可)
以上是测试版获取SHA1,发布版SHA1获取请看博客
Android Studio apk打包,keystore.jks文件生成,根据keystore密钥获取SHA1安全码
输入完信息确定就可以看到key值了
AndroidManifest.xml中加入权限
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!-- 定位 -->
<!-- 用于进行网络定位 -->
<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_LOCATION_EXTRA_COMMANDS">
</uses-permission>
<application>标签中添加Key值信息
<meta-data
android:name="com.amap.api.v2.apikey"
android:value="ad6c99f7853c8bdce5bd35c5d3cbee76" >
</meta-data>
<!-- 定位需要的服务 -->
<service android:name="com.amap.api.location.APSService" >
</service>
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();
}
}
}
运行效果如图:
分享到:
相关推荐
本文将深入探讨如何在Android项目中集成高德定位,以实现高效且准确的地理位置获取。 首先,我们需要在Android Studio项目中添加高德地图的依赖。在`build.gradle`(Module)文件中,加入以下依赖: ```groovy ...
本项目中的"android开发高德定位.zip"压缩包显然包含了实现Android应用中高德地图定位功能的相关代码和资源。下面将详细介绍这个项目可能涉及的关键知识点。 1. 高德地图SDK集成: 在Android应用中使用高德地图,...
在Android开发中,基于高德地图实现移动轨迹的可视化是一项常用且重要的技术。高德地图API为开发者提供了丰富的功能,包括地图展示、定位、路径规划、轨迹追踪等,使得我们能够在移动应用中轻松地实现地理位置相关...
在Android开发中,集成高德地图API可以实现丰富的地图功能,包括地图的显示、定位、地理编码和反地理编码,以及地图上的点击事件处理。以下将详细解释这些知识点。 1. 地图显示: 首先,需要在AndroidManifest.xml...
8. **网络请求与响应处理**:高德地图SDK可能需要网络请求获取实时交通、路况等信息,因此会涉及到Android的HttpURLConnection、OkHttp或Retrofit等网络库的使用。 9. **多线程与异步处理**:为了保证用户界面的...
在Android开发中,集成高德地图API是一个常见的需求,它能为应用提供地图展示、定位、路线规划等功能。本文将详细介绍如何在Android项目中初始化并运行一个基本的高德地图Demo。 首先,我们需要在Android Studio中...
在"SearchPOIDemo"这个项目中,开发者首先需要在Android Studio中集成高德地图SDK。这通常包括在build.gradle文件中添加依赖库,然后在AndroidManifest.xml中申请必要的权限,比如访问网络和位置权限。 接着,实现...
在Android平台上,使用高德地图API开发应用程序是一个常见的任务,特别是在构建导航、定位或地理信息相关的应用时。本文将深入探讨如何在Android中集成高德地图API,创建一个功能丰富的地图应用。 首先,我们需要...
集成高德地图定位SDK,首先要进行注册,获取API密钥(Key),并在应用的Manifest.xml文件中添加相应的权限和SDK初始化设置。然后,在代码中实例化`AMapLocationClient`,设置定位参数,比如定位频率、是否开启GPS等...
在Android应用开发中,集成高德地图SDK进行定位是一项常见的需求。高德地图SDK提供了丰富的功能,包括实时定位、地理编码、反地理编码等,帮助开发者轻松构建与地图相关的应用程序。下面将详细介绍如何通过高德地图...
本项目“高德地图开发 GPS 定位服务 as版”是基于Android Studio构建的,利用高德地图的SDK来实现GPS定位服务。下面我们将深入探讨这个项目中的关键知识点。 1. **Android Studio集成**: Android Studio是Google...
这两个信息需要从开发环境中获得,可通过Android Studio中的“查看AndroidSHA1与Package获取方式”链接,了解获取这两个信息的具体方法。 d) 阅读并同意《高德API使用条款》:在申请Key之前,必须阅读并同意高德...
这个项目可能包含了Android Studio工程结构,包括Java或Kotlin源代码、布局文件、资源文件等,你可以参考这些代码来学习和实现自己的位置分享功能。 总结来说,Android仿微信发送位置功能主要涉及Android的定位API...
在Android应用开发中,高德地图SDK是一个至关重要的工具,它为开发者提供了丰富的地图功能,如定位、导航、路线规划等。"高德SDK的包"是专为Android平台设计的,帮助开发者集成高德地图服务到自己的应用程序中。下面...
【仿聊天定位Demo】是一个基于高德地图API实现的示例项目,主要目的是演示如何在聊天应用中集成地理定位功能。这个Demo可以帮助开发者理解并学习如何利用高德地图服务实现实时用户位置获取、地图展示以及导航等功能...
【基于高德SDK的AMapDemo】项目是一个典型的Android应用开发实例,主要展示了如何利用高德地图SDK在Android平台上实现地图展示、定位服务、关键词搜索以及路径导航等功能。这个本科毕业设计涵盖了移动开发中的多个...
本文将深入探讨如何在Android应用中集成高德导航SDK,实现实时导航功能,并关注申请高德API key和讯飞appid的重要步骤。 首先,集成高德导航SDK是开发过程中的基础。你需要从高德地图官方网站下载适用于Android的...
在本教程中,我们将深入探讨如何使用Android Studio开发一个仿真的高德地图应用程序。高德地图是中国领先的在线地图服务提供商之一,提供精确的导航、实时交通状况和丰富的地点信息。通过模仿高德地图APP,我们可以...
这些SDK提供了丰富的地图展示、定位、路线规划等功能,开发者只需按照文档说明调用相应的接口即可实现相应功能。 线路查询是该应用的另一关键特性。开发者需要构建一个包含北京地铁所有线路和站点的数据模型。数据...