Android通过高德地图进行定位
- 格式:docx
- 大小:18.28 KB
- 文档页数:4
高德导航Android版使用技巧分享如何设置偏好导航模式引言:当今社会,随着科技的不断发展,导航软件成为我们出行不可或缺的利器。
作为领先的导航服务提供商之一,高德导航Android版凭借其准确的导航定位和丰富的功能,成为了许多用户的首选。
本文将分享一些高德导航Android版的技巧,重点介绍如何设置偏好导航模式,帮助用户更好地使用该应用程序。
1. 下载和安装高德导航Android版首先,用户需要到应用商店或高德官方网站下载并安装高德导航Android版。
完成安装后,打开应用并进行基本设置,例如选择语言和登录账号等。
然后,用户可以开始享受高德导航的引导服务。
2. 快速规划导航路线在高德导航Android版中,快速规划导航路线是一个非常有用的功能。
用户只需在主界面输入目的地,系统将自动为您规划最佳导航路线。
如果有多个交通方式可选,用户可以通过滑动页面选择最符合自己需求的交通工具,如驾车、步行或乘坐公共交通等。
3. 设置偏好导航模式偏好导航模式是高德导航Android版的一个强大功能。
它允许用户根据个人喜好和需求,自定义导航的方式。
用户可以根据以下步骤进行设置:a) 打开高德导航应用,进入主界面。
b) 点击屏幕上方的菜单按钮,找到“导航设置”选项。
c) 在导航设置界面中,用户可以看到多个选项,如“免费模式”、“省电模式”和“高速优先”等。
用户可以根据自己的需求选择其中一个偏好模式。
d) 如果用户希望优先选择高速公路,可以选择“高速优先”模式。
如果用户关注省电,可以选择“省电模式”。
e) 此外,用户还可以根据实际情况在不同的场景中切换导航模式,如“步行模式”、“骑行模式”和“乘坐公共交通模式”。
4. 使用语音助手导航高德导航Android版还提供了强大的语音助手功能,使用户能够更方便地使用导航服务。
用户只需说出目的地,语音助手将自动为您规划导航路线,并通过语音提示进行引导。
这对于驾车时的安全性和便捷性都是非常有益的。
Android调⽤⾼德地图定位的⽅法在App中使⽤地图定位⼗分常见,购物功能的可以直接定位当前位置,发动态功能可以定位当前位置发出,社交功能可以定位周边⽤户等等。
这⾥我使⽤⾼德地图定位当前位置并显⽰地址和经纬度。
先上效果图:实现步骤:1. 创建应⽤获取key:接⼊第三⽅⽆⼀例外,去⾼德地图官⽹注册账号并创建应⽤。
填⼊包名和keystore的Sha1。
创建应⽤获取Sha1,输⼊命令keytool -v -list -keystore keystore⽂件路径,我在这⾥通过控制台获取调试版的:进⼊.android⽬录cd .android输⼊命令获取keytool -v -list -keystore debug.keystore过程截图:创建完成获取Key:2. 接⼊SDK添加定位库compile 'com.amap.api:location:latest.integration'添加2D地图库compile 'com.amap.api:map2d:latest.integration'添加地图权限:<uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /><uses-permission android:name="android.permission.READ_PHONE_STATE" /><uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /><uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /><uses-permission android:name="android.permission.CHANGE_CONFIGURATION" /><uses-permission android:name="android.permission.WAKE_LOCK" /><uses-permission android:name="android.permission.WRITE_SETTINGS" />在<application></application>中设置地图key<meta-dataandroid:name="com.amap.api.v2.apikey"android:value="57b811b21061501ee320e171568f0dac" />3. 代码实现(带每⼀步功能注释):实现思路:创建MapView显⽰地图;设置定位定位监听,设置定位参数,在activate激活后启动定位;在定位回调中获取经纬度,在将地图移动到定位位置,在该经纬度上添加覆盖图标。
安卓手机怎么定位在现代社会的信息时代,定位功能成为了智能手机中一个非常重要的功能之一。
利用定位功能,我们可以随时随地知道自己所处的位置,找到自己的目的地。
本文将为大家介绍安卓手机的定位功能以及如何使用它。
安卓手机具有内置的GPS(全球定位系统)功能,通过与卫星的通信,可以精确地确定手机和用户的位置。
在定位服务打开的情况下,安卓手机可以通过GPS、蜂窝数据和Wi-Fi联网等方式,获取用户的位置信息。
要开启安卓手机的定位功能,我们可以按照以下步骤进行操作:1. 打开手机的设置应用程序。
2. 滑动屏幕并找到“位置”或“定位”选项。
3. 点击“位置”或“定位”选项,进入位置设置页面。
4. 在位置设置页面中,确认开启“定位服务”开关。
一旦开启了定位功能,我们就可以通过多种方式进行定位。
第一种方式是使用安卓手机自带的地图应用程序。
大多数安卓手机都预装了Google Maps应用程序,该应用程序不仅可以提供详细的地图信息,还可以使用GPS定位功能。
通过Google Maps,我们可以在地图上标记自己的位置,并获取详细的导航路线。
第二种方式是使用第三方的定位应用程序。
在Google Play商店中,有许多免费和付费的定位应用程序可供选择。
这些应用程序提供了不同的定位功能和使用界面,可以根据自己的需求选择合适的应用程序进行定位。
除了地图应用程序和定位应用程序外,安卓手机还可以根据用户的需求,通过其他应用程序进行定位。
例如,在社交媒体应用程序中,我们可以使用定位功能与朋友共享自己的位置。
在出行应用程序中,我们可以使用定位功能查找附近的餐厅、酒店和商店等。
安卓手机的定位功能不仅可以用于个人使用,还可以用于商业和应急领域。
例如,在某些商业应用场景中,可以通过安卓手机的定位功能对物品进行追踪和管理。
在紧急情况下,安卓手机的定位功能可以被用来定位受困人员的位置,以便进行救援。
定位功能的应用范围越来越广泛,给人们的生活和工作带来了许多便利。
安卓手机定位设置方法
老人上了年纪,出门走着走着就迷路了,费了大半天劲才找回来。
熊孩子放学好久了还没回家,担心的不得了,到家就是一顿削。
现在手机这么普及,要是能在手机上定个位,随时查看位置就好了,下面就教你用安卓手机的定位监控。
安卓手机定位设置的方法
手机在应用宝上下载思归。
点击注册,注册个账号。
这就进入主控端了,点击添加本机为受控端,给要绑定的手机起个好记的别名。
选择好受控选项,开始监控,然后点击“返回主控端”
查询最新位置
点击查询轨迹,选择要查询的时间,点击查询轨迹,如果有记录的话,就出现行动轨迹了。
在地图最下方中间,有一个”全屏“按钮,点击放大地图到全屏,点击”还原“,回到原来的大小。
高德移动导航使用手册Android版《高德移动导航软件用户手册》及其配套系统软件的版权属本公司所有,受中华人民共和国法律保护,未获高德软件有限公司明确的书面许可,任何人或单位不得对本软件的全部或部分内容进行复制或将其存储在数据库中,不得进行电子、机械或其他方式的影印、拷贝或备份,不得通过载声体或其他任何方式进行复制。
本文件所包含的信息可能更改,事先恕不另行通知。
免责声明《高德移动导航软件用户手册》是由高德软件有限公司编制,旨在为用户提供一个使用手机导航系统的信息指引。
在编制过程中,本公司尽可能确保手册中所有内容(包括文字、图形、图标等)的准确性和完整性,但本公司对手册内容的准确性和完整性不作任何保证。
本手册的内容仅供参考,对于用户使用本手册带来的任何后果和损失,本公司概不负责。
用户一经购买使用《高德移动导航软件》,即表示同意本公司对于用户在使用本系统时所发生的任何直接或间接的损失一概免责。
本声明解释权归高德软件有限公司,如有争议,以中华人民共和国现行有效的法规法律为依据。
高德软件有限公司重要提示感谢您购买本产品!为了实现您对本产品的安全和有效使用,本公司向您进行特别提示如下:1、本产品电子地图及路口语音提示仅供参考,可能与实际路况有所不同,请在遵守实地交通规则的前提下使用本系统,按照实际路况驾驶。
3、GPS定位与天气、环境及接收器等各因素相关,本系统不保证定位完全准确,请结合其他信息判断。
4、实际导航中请勿以本系统为唯一参考依据,因使用本系统而产生的直接的、间接的、连带的、特殊的后果由用户自行承担,系统设计者和生产者不负任何责任。
5、禁止非法拷贝、反编译、破解或传播本系统。
安装说明一、安装地图数据说明:手机内应用程序可见“高德导航”的图标,表明已经预置高德导航apk,运行程序时提示缺失数据。
操作步骤:(1)通过网站下载地图数据“autonavidata50.zip”并解压缩;(2)将“autonavidata50”文件夹存储至的后继内存的根目录下;(3)运行导航程序即可。
实现思路:当点击地图线段的时候获取对应坐标点,然后跟路线上的坐标点比对,如果经纬度各自的差值都小于0.000001,则选择该路线。
(为啥小于0.00001,是考虑到两条路线如果坐标相差很近时,给的一个差值范围)实现思路步骤:1.获取屏幕点击线段的坐标:在多路线规划完成后,可以设置AMap中的setOnPolylineClickListener方法监听。
代码如下://.....多余代码省略{mAmap.setOnPolylineClickListener(this);//......多余代码省略}@Overridepublic void onPolylineClick(Polyline polyline) {}该方法是监听地图上线段点击回调。
我们路线规划出来,在屏幕上就是一段一段线段拼接出来的。
回调出来这个类Polyline查看高德提供的参考手册可以知道如下:回调出来就是点击的该线段,我们继续看参考手册,看提供的相应方法里面有个获取线段顶点坐标列表的方法getPoints()。
然后我们获取路线对应的坐标列表,高德地图中路线这个类对应的是RouteOverLay这个类。
同样的我们得去看下高德提供参考手册,其中有个方法是获取导航路径对象——getAMapNaviPath()。
2、坐标比较,选择对应路线:现在地图线段坐标集合和路线对应的坐标集合都有了,接下来取线段坐标集合任意一点跟路线对应的坐标集做差值计算,如果经纬度都小于0.000001我们一开始设定的范围,则认为点击到该路线,则把该路线高亮显示。
代码如下:@Overridepublic void onPolylineClick(Polyline polyline) {if(routeOverlays != null && routeOverlays.size() == 1){ //路线只有一条,没必要选择路线。
return;}List<LatLng> latLngs = polyline.getPoints();if (latLngs.size() == 0){//确定获取线段有坐标集合return;}LatLng latLng = latLngs.get(0);//取线段的第一个坐标就好outer:for (int i = 0; i < routeOverlays.size(); i++) {//遍历路线集合int key = routeOverlays.keyAt(i);List<NaviLatLng> naviLatLngs = routeOverlays.get(key).getAMapNaviPath().getCoordList(); //获取路线所有坐标集合for (NaviLatLng naviLatLng : naviLatLngs) {//遍历路线的坐标集合if (Math.abs((naviLatLng.getLatitude() - titude)) <= 0.000001&& Math.abs((naviLatLng.getLongitude()- latLng.longitude)) <= 0.00001){//符合差值范围if (i == routeIndex){ // 已经选过该路线跳转下一条路线点击的线段可能是两条路线的重复路段continue outer;}//下面循环方法是绘制没选中路线不高亮for (int j = 0; j < routeOverlays.size(); j++) {if (i == j){ //选中路线先不用画continue;}int key2 = routeOverlays.keyAt(j);routeOverlays.get(key2).setTransparency(0.4f);routeOverlays.get(key).setZindex(0);}routeOverlays.get(key).setTransparency(1.0f);/**把用户选择的那条路的权值弄高,使路线高亮显示的同时,重合路段不会变的透明**/routeOverlays.get(key).setZindex(1);mAMapNavi.selectRouteId(key);routeIndex = i;chooseRouteSuccess = true;return;}}}}至此,整体的思路就是这样。
高德导航Android版使用技巧如何规划最佳驾车路线随着科技的不断发展,手机导航已经成为我们出行的必备工具之一。
而在众多的导航软件中,高德导航以其准确的定位和全面的功能受到了广大用户的喜爱。
本文将为大家分享一些高德导航Android版的使用技巧,帮助大家规划最佳的驾车路线。
一、实时交通信息的获取高德导航Android版提供了实时的交通信息,能够帮助用户避开拥堵路段,选择最佳的驾车路线。
在使用高德导航之前,我们需要确保手机的定位功能已开启,并保持网络连接。
打开导航应用后,点击屏幕下方的“交通”按钮,即可获取实时的交通信息。
导航路线将会根据交通情况进行实时调整,为用户提供最快捷的行车路径。
二、选择驾车路线在高德导航Android版中,我们可以根据自身需求选择合适的驾车路线。
当输入起点和终点后,导航软件会自动规划一条默认的驾车路线。
然而,这并不一定是最佳的选择。
在路线规划完成后,我们可以点击屏幕上方的“路径选择”按钮,查看其他可选的驾车路线。
每条路线都会显示预计的行车时间和距离,用户可以根据实际情况选择合适的方案。
此外,还可以通过点击地图上的“途经点”按钮,添加途经点来进一步优化路线规划。
三、避免拥堵路段高德导航Android版提供了“避免拥堵”功能,可以帮助用户规避拥堵路段,选择更加顺畅的驾车路线。
在开始导航后,我们可以点击屏幕下方的“路线详情”按钮,在弹出的菜单中选择“避免拥堵”。
导航软件将根据实时交通信息,重新规划一条避开拥堵的驾车路线。
这样,我们就可以有效地避免因拥堵路段而耽误时间。
四、实时路况播报在高德导航Android版中,还有一项非常实用的功能,就是实时路况播报。
当我们正在驾车导航时,导航软件会根据实时交通信息,及时地播报当前路段的拥堵情况和行车建议。
这让我们在行车过程中可以及时调整路线,避开拥堵路段,尽可能地提高行车效率。
五、多种导航模式选择高德导航Android版提供了多种导航模式供用户选择,以满足不同行车需求。
高德导航Android版使用攻略掌握实时交通信息的利用方法导航软件已成为现代社会人们出行中不可或缺的工具之一。
其中,高德导航Android版凭借其强大的功能和用户友好的界面备受用户喜爱。
本文将为大家介绍高德导航Android版的使用攻略,帮助大家掌握实时交通信息的利用方法。
一、高德导航Android版简介高德导航Android版是一款基于地图的导航软件,为用户提供全面准确的导航和路线规划。
它不仅可帮助用户快速找到目的地,还能实时更新交通信息并进行智能路线推荐,让用户避开拥堵路段,提高出行效率。
二、下载与安装首先,用户需要在手机应用商店搜索“高德导航”并下载安装。
安装完成后,打开高德导航Android版,根据提示进行基本设置和登录,然后进入主界面即可开始导航。
三、实时交通信息展示高德导航Android版可以准确实时地显示交通状况,给用户提供最新的道路拥堵情况。
在导航界面的右上角,有一个“实时交通”按钮,点击后即可显示路况信息。
用户可以根据颜色标识,快速了解道路的拥堵程度,以便选择通畅的路线。
四、智能路线规划高德导航Android版具备智能路线规划功能,它会根据实时交通信息和用户的出行偏好,推荐最优路线。
在设定目的地后,导航软件会自动计算多条可行路线,并标注出预计耗时和路况情况。
用户可以根据自己的需要选择最合适的路线进行导航。
五、导航设置与导航过程中的实时更新在导航过程中,用户可以进行导航设置。
例如,设置避免拥堵路段、偏好道路类型和导航语音设置等。
同时,高德导航Android版还会实时更新导航路线,根据道路的实际情况进行调整,确保用户顺利到达目的地。
六、配合实时定位实现更精准的导航高德导航Android版可以与手机的GPS定位功能配合使用,实现更精准的导航。
通过定位功能,导航软件可以实时跟踪用户的行车位置和移动速度,及时进行路线调整。
同时,它还支持实时语音导航,通过语音提示帮助用户更安全地驾驶。
七、个性化使用与路线收藏在高德导航Android版中,用户还可以进行个性化的使用设置。
Android使用Service结合高德定位SDK实现定位Android使用Service结合高德定位SDK实现定位,有需要的朋友可以参考下。
Android中使用Service结合高德定位SDK实现定位高德官方给出的定位实例都是基于Activity的,但是实际过程中会有需要不断定位的情况,特别是需要后台统计用户数据的。
如果在Activity中绑定定位服务,那么定位就受Activity的生命周期限制,显然用Service实习定位是个不错的选择。
然后结合BroadcastRecevier 可以实现当数据需要更新的时候即使提醒提醒更新数据。
•高德定位结合Service代码实例package cn.letsbook.running.service;import android.app.Service;import android.content.Intent;import android.location.Location;import android.os.Bundle;import android.os.IBinder;import android.util.Log;import cn.letsbook.running.model.FixedLengthList;import cn.letsbook.running.util.Constants;import com.amap.api.location.AMapLocation;import com.amap.api.location.AMapLocationListener;import com.amap.api.location.LocationManagerProxy;import com.amap.api.location.LocationProviderProxy;/*** 定位服务,基于高德的定位API V1.3.0实现** @author Jywang*@*************************/public class LocationService extends Service implements AMapLocationListener {public static final long LOCATION_UPDATE_MIN_TIME = 10 * 1000;public static final float LOCATION_UPDATE_MIN_DISTANCE = 5;private FixedLengthList<AMapLocation> locationList = FixedLengthList.newInstance();// 位置服务代理private LocationManagerProxy locationManagerProxy;public LocationService() {}@Overridepublic void onCreate() {super.onCreate();//使用参数为Context的方法,Service也是Context实例,//是四大组件之一locationManagerProxy = LocationManagerProxy.getInstance(this);// 定位方式设置为混合定位,包括网络定位和GPS定位locationManagerProxy.requestLocationData(LocationProviderProxy.AMapNetwork,LOCATION_UPDATE_MIN_TIME,LOCATION_UPDATE_MIN_DISTANCE, this);// 如果定位方式包括GPS定位需要手动设置GPS可用locationManagerProxy.setGpsEnable(true);Log.v("locationservice", "locationservicestart");}@SuppressWarnings("deprecation")@Overridepublic void onDestroy() {super.onDestroy();// 在Service销毁的时候销毁定位资源if (locationManagerProxy != null) {locationManagerProxy.removeUpdates(this);locationManagerProxy.destory();}//设置为null是为了提醒垃圾回收器回收资源locationManagerProxy = null;}@Overridepublic void onLocationChanged(Location location) {//在较新的SDK版本中,这个方法在位置发生变化的时候不会被//调用。
昨儿折腾了一天,把Android 手机定位、获取手机当前位置的功能给搞掂了。
这次记下来,不然又忘~~思路很简单,第一步,获取经纬度,第二步,把经纬度转换为地址。
看起来简单,但是实现起来比较郁闷~~获取经纬度可以有很多选择。
我刚开始做时,想着Google最好用,但是写完代码测试下,悲催的逆解析地址总是为空。
代码如下:/**** 由街道信息转换为经纬度* @param address 街道信息* @return 包含经纬度的一个double 数组,{longtitude,latitude}*/public static double[] getLocationInfoByGoogle(String address){//定义一个HttpClient,用于向指定地址发送请求HttpClient client = new DefaultHttpClient();//向指定地址发送Get请求HttpGet hhtpGet = new HttpGet("/maps/api/geocode/json?address="+address+"ka&sensor=fal se");StringBuilder sb = new StringBuilder();try {//获取服务器响应HttpResponse response = client.execute(hhtpGet);HttpEntity entity = response.getEntity();//获取服务器响应的输入流InputStream stream = entity.getContent();int b;//循环读取服务器响应while((b = stream.read()) != -1){sb.append((char)b);}//将服务器返回的字符串转换为JSONObject 对象JSONObject jsonObject = new JSONObject(sb.toString());//从JSONObject 中取出location 属性JSONObject location = jsonObject.getJSONObject("results").getJSONObject("0").getJSONObject("geometry").getJS ONObject("location");//获取经度信息double longtitude = location.getDouble("lng");double latitude = location.getDouble("lat");return new double[]{longtitude,latitude};} catch (ClientProtocolException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();} catch (JSONException e) {e.printStackTrace();}return null;}/*** 根据经纬度获取对应地址,此处的经纬度须使用Google或者高德地图的经纬度;<br> * 若使用百度地图经纬度,须经过百度API接口(BMap.Convertor.transMore(points,2,callback))的转换;* @param longitude 经度* @param latitude 纬度* @return 详细街道地址*/public static String getAddressByGoogle(double longitude,double latitude){//定义一个HttpClient,用于向指定地址发送请求HttpClient client = new DefaultHttpClient();//向指定地址发送Get请求HttpGet hhtpGet = new HttpGet("/maps/api/geocode/json?latlng="+latitude+","+longitude+" &sensor=false®ion=cn");StringBuilder sb = new StringBuilder();try {//获取服务器响应HttpResponse response = client.execute(hhtpGet);HttpEntity entity = response.getEntity();//获取服务器响应的输入流InputStream stream = entity.getContent();int b;//循环读取服务器响应while((b = stream.read()) != -1){sb.append((char)b);}//将服务器返回的字符串转换为JSONObject 对象JSONObject jsonObject = new JSONObject(sb.toString());//从JSONObject 中取出location 属性JSONObject location = jsonObject.getJSONObject("results").getJSONObject("0").getJSONObject("formatted_addres s");return location.toString();} catch (ClientProtocolException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();} catch (JSONException e) {e.printStackTrace();}return null;}这件事的惨痛经历告诉我:一定要有政治觉悟,不然编代码丫多的都不成。
packagecom.example.dingwei;importjava.text.SimpleDateFormat;importjava.util.Date;importcom.amap.api.location.AMapLocation;importcom.amap.api.location.AMapLocationClient;importcom.amap.api.location.AMapLocationClientOption;import com.amap.api.location.AMapLocationClientOption.AMapLocationMode;importcom.amap.api.location.AMapLocationListener;importandroid.app.Activity;importandroid.content.Context;importandroid.location.Criteria;importandroid.location.Location;importandroid.location.LocationListener;importandroid.location.LocationManager;importandroid.os.Bundle;importandroid.util.Log;importandroid.view.Menu;importandroid.view.MenuItem;importandroid.widget.TextView;public class MainActivity extends Activity {//声明AMapLocationClient类对象publicAMapLocationClientmLocationClient = null;//声明定位回调监听器publicAMapLocationListenermLocationListener =new MyListener();//声明mLocationOption对象publicAMapLocationClientOptionmLocationOption = null;privateLocationManagerlocationManager;privateTextViewlocationText;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(yout.activity_main);locationText=(TextView) findViewById(R.id.location);set();/*locationManager=(LocationManager) getSystemService(Context.LOCATION_SERVICE);Criteria criteria=new Criteria();//设置规则criteria.setAccuracy(Criteria.ACCURACY_FINE);//设置电量criteria.setPowerRequirement(Criteria.POWER_LOW) ;String provider=locationManager.getBestProvider(criteria, true);//String provider=locationManager.getAllProviders().get(1);locationManager.requestLocationUpdates(provider, 3000, 100, new MyListener());*/ }public void set(){//初始化定位mLocationClient = new AMapLocationClient(getApplicationContext());//设置定位回调监听mLocationClient.setLocationListener(mLocationListener);//初始化定位参数mLocationOption = new AMapLocationClientOption();//设置定位模式为高精度模式,Battery_Saving为低功耗模式,Device_Sensors是仅设备模式mLocationOption.setLocationMode(AMapLocationMode.Hight_Accuracy);//设置是否返回地址信息(默认返回地址信息)mLocationOption.setNeedAddress(true);//设置是否只定位一次,默认为falsemLocationOption.setOnceLocation(false);//设置是否强制刷新WIFI,默认为强制刷新mLocationOption.setWifiActiveScan(true);//设置是否允许模拟位置,默认为false,不允许模拟位置mLocationOption.setMockEnable(false);//设置定位间隔,单位毫秒,默认为2000msmLocationOption.setInterval(2000);//给定位客户端对象设置定位参数mLocationClient.setLocationOption(mLocationOption);//启动定位mLocationClient.startLocation();}private class MyListener implements AMapLocationListener{public void onLocationChanged(AMapLocationamapLocation) {if (amapLocation != null) {if (amapLocation.getErrorCode() == 0) {//定位成功回调信息,设置相关消息amapLocation.getLocationType();//获取当前定位结果来源,如网络定位结果,详见定位类型表amapLocation.getLatitude();//获取纬度amapLocation.getLongitude();//获取经度amapLocation.getAccuracy();//获取精度信息SimpleDateFormatdf = new SimpleDateFormat("yyyy-MM-ddHH:mm:ss");Date date = new Date(amapLocation.getTime());df.format(date);//定位时间amapLocation.getAddress();//地址,如果option中设置isNeedAddress为false,则没有此结果,网络定位结果中会有地址信息,GPS定位不返回地址信息。
//amapLocation.getCountry();//国家信息amapLocation.getProvince();//省信息amapLocation.getCity();//城市信息amapLocation.getDistrict();//城区信息amapLocation.getStreet();//街道信息amapLocation.getStreetNum();//街道门牌号信息amapLocation.getCityCode();//城市编码amapLocation.getAdCode();//地区编码locationText.setText("纬度"+amapLocation.getLatitude()+"经度="+amapLocation.getLongitude()+"省信息"+amapLocation.getProvince()+"城市信息"+amapLocation.getCity());} else {//显示错误信息ErrCode是错误码,errInfo是错误信息,详见错误码表。
Log.e("AmapError","location Error, ErrCode:"+ amapLocation.getErrorCode() + ", errInfo:"+ amapLocation.getErrorInfo());}}}}/*private class MyListener implements LocationListener{@Overridepublic void onLocationChanged(Location location) {locationText.setText("纬度"+location.getLatitude()+"----"+"经度"+location.getLongitude());}@Overridepublic void onStatusChanged(String provider, int status, Bundle extras) {}@Overridepublic void onProviderEnabled(String provider) {}@Overridepublic void onProviderDisabled(String provider) {}}*/}。