高德地图为什么引入不了amapamapnetworklocationnclient

17:45 提问
高德地图能获取到经纬度,但不能将地图移动到定位点,
package com.example.zengyue.gould_
import android.app.A
import android.content.I
import android.icu.text.SimpleDateF
import android.os.B
import android.os.B
import android.support.annotation.RequiresA
import android.util.L
import android.view.W
import android.widget.T
import com.amap.api.location.AMapL
import com.amap.api.location.AMapLocationC
import com.amap.api.location.AMapLocationClientO
import com.amap.api.location.AMapLocationL
import com.amap.api.maps2d.AM
import com.amap.api.maps2d.CameraUpdateF
import com.amap.api.maps2d.LocationS
import com.amap.api.maps2d.MapV
import com.amap.api.maps2d.UiS
import com.amap.api.maps2d.model.LatL
import java.util.D
public class MainActivity extends Activity implements LocationSource,AMapLocationListener{
//AMap是地图对象
private AMap aM
private MapView mMapV
//声明AMapLocationClient类对象,定位发起端
private AMapLocationClient mLocationClient =
//声明mLocationOption对象,定位参数
public AMapLocationClientOption mLocationOption =
//声明mListener对象,定位监听器
private OnLocationChangedListener mListener =
//标识,用于判断是否只显示一次定位信息和用户重新定位
private boolean isFirstLoc =
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_main);
//获取地图控件
mMapView= (MapView) findViewById(R.id.map);
//创建地图
mMapView.onCreate(savedInstanceState);//重写
if (aMap==null){
aMap =mMapView.getMap();
//设置显示定位按钮 并且可以点击
UiSettings settings = aMap.getUiSettings();
aMap.setLocationSource(this);//设置了定位的监听
// 是否显示定位按钮
settings.setMyLocationButtonEnabled(true);
aMap.setMyLocationEnabled(true);//显示定位层并且可以触发定位,默认是flase
//开始定位
location();
private void location() {
//初始化定位
mLocationClient = new AMapLocationClient(getApplicationContext());
//初始化定位参数
mLocationOption = new AMapLocationClientOption();
//设置是否返回地址信息(默认返回地址信息)
mLocationOption.setNeedAddress(true);
//设置定位模式为Hight_Accuracy高精度模式,Battery_Saving为低功耗模式,Device_Sensors是仅设备模式
mLocationOption.setLocationMode(AMapLocationClientOption.AMapLocationMode.Hight_Accuracy);
//设置是否只定位一次,默认为false
mLocationOption.setOnceLocation(false);
//设置是否强制刷新WIFI,默认为强制刷新
mLocationOption.setWifiActiveScan(true);
//设置是否允许模拟位置,默认为false,不允许模拟位置
mLocationOption.setMockEnable(true);
//设置定位间隔,单位毫秒,默认为2000ms
mLocationOption.setInterval(2000);
//给定位客户端对象设置定位参数
mLocationClient.setLocationOption(mLocationOption);
//启动定位
mLocationClient.startLocation();
//设置定位回调监听
mLocationClient.setLocationListener(this);
protected void onResume() {
super.onResume();
//重新绘制加载地图
mMapView.onResume();
protected void onPause() {
super.onPause();
//暂停地图的绘制
mMapView.onResume();
protected void onDestroy() {
super.onDestroy();
//销毁地图
mMapView.onDestroy();
mLocationClient.stopLocation();//停止定位
mLocationClient.onDestroy();//销毁定位客户端。
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
//保存地图的当前状态
mMapView.onSaveInstanceState(outState);
@RequiresApi(api = Build.VERSION_CODES.N)
public void onLocationChanged(AMapLocation aMapLocation) {
Log.i("ttt","&&&&&&&&&&1");
if (aMapLocation != null) {
Log.i("ttt","&&&&&&&&&&2");
if (aMapLocation.getErrorCode() == 0) {
Log.i("ttt","&&&&&&&&&&"+aMapLocation.getLatitude()+"&&&&&&&&&"+//获取纬度
aMapLocation.getLongitude());
//定位成功回调信息,设置相关消息
aMapLocation.getLocationType();//获取当前定位结果来源,如网络定位结果,详见官方定位类型表
aMapLocation.getLatitude();//获取纬度
aMapLocation.getLongitude();//获取经度
aMapLocation.getAccuracy();//获取精度信息
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH: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();//地区编码
Log.i("ttt",aMapLocation.getCountry().toString()+aMapLocation.getProvince().toString()+aMapLocation.getCity().toString()+aMapLocation.getDistrict().toString()+aMapLocation.getStreet().toString());
// 如果不设置标志位,此时再拖动地图时,它会不断将地图移动到当前的位置
if (isFirstLoc) {
//设置缩放级别
aMap.moveCamera(CameraUpdateFactory.zoomTo(17));
//将地图移动到定位点
aMap.moveCamera(CameraUpdateFactory.changeLatLng(new LatLng(aMapLocation.getLatitude(), aMapLocation.getLongitude())));
//点击定位按钮 能够将地图的中心移动到定位点
mListener.onLocationChanged(aMapLocation);
//添加图钉
aMap.addMarker(getMarkerOptions(amapLocation));
//获取定位信息
StringBuffer buffer = new StringBuffer();
buffer.append(aMapLocation.getCountry() + ""
+ aMapLocation.getProvince() + ""
+ aMapLocation.getCity() + ""
+ aMapLocation.getProvince() + ""
+ aMapLocation.getDistrict() + ""
+ aMapLocation.getStreet() + ""
+ aMapLocation.getStreetNum());
Toast.makeText(getApplicationContext(), buffer.toString(), Toast.LENGTH_LONG).show();
isFirstLoc =
Log.i("ttt",buffer.toString());
//显示错误信息ErrCode是错误码,errInfo是错误信息,详见错误码表。
Log.e("AmapError", "location Error, ErrCode:"
+ aMapLocation.getErrorCode() + ", errInfo:"
+ aMapLocation.getErrorInfo());
Toast.makeText(getApplicationContext(), "定位失败", Toast.LENGTH_LONG).show();
//激活定位
public void activate(OnLocationChangedListener onLocationChangedListener) {
mListener=onLocationChangedL
//停止定位
public void deactivate() {
mListener=
&?xml version="1.0" encoding="utf-8"?&
&manifest xmlns:android="/apk/res/android"
package="com.example.zengyue.gould_map"&
&!--用于进行网络定位--&
&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&
&application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme"&
&service android:name="com.amap.api.location.APSService"/&
&meta-data
android:name="com.amap.api.v2.apikey"
android:value="c0fede08d244f741d053af"
&activity android:name=".MainActivity"&
&intent-filter&
&action android:name="android.intent.action.MAIN" /&
&category android:name="android.intent.category.LAUNCHER" /&
&/intent-filter&
&/activity&
&/application&
&/manifest&
&?xml version="1.0" encoding="utf-8"?&
xmlns:tools="/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.zengyue.gould_map.MainActivity"&
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"&
&/com.amap.api.maps2d.MapView&
按赞数排序
兄弟,你这个有点猛啊
其他相似问题显示地图以及定位,一篇文章玩转高德地图
本文由 静心Study投稿,博客地址:/myspaceblog-904057.html
今天,我们一起来聊聊有关地图方面的内容吧。
目前比较好的地图第三方分别如下:
百度地图API地址:/;
高德地图API地址:/;
腾讯地图API地址:/;
谷歌Baba的大地图API地址:/。
LZ孤陋寡闻,暂时只知道以上这四种,如有其他好用地图,欢迎大家提供,LZ也更好的完善博文~
经过网上简单搜索后,简单得出以下结论(仅仅LZ个人所见,欢迎打脸~):
百度地图,功能齐全,牛掰,无奈地图更新不是很及时;
高德地图,专注地图n余年,开发文档以及后续支持比较好,苹果手机内置地图也同样为高德地图(大高德666~);
腾讯地图,没怎么使用过;
谷歌Baba大地图,貌似需要翻墙,比较心累~
So,经过简单了解后,让我们愉快的开启玩转高德地图之旅吧~
这个就很简单了,我们找到高德地图API,按照官方溜达溜达去。
1.百度搜索高德地图api
2.获取地图开发Key
首先我们需要注册成为高德地图开发者,这里不做过多说明。接下来在控制台创建应用,如下图:
之后点击创建Key,高德hint给的很全面,大家按照要求来即可。
关于获取SHA1,大家可以参考LZ之前写的博文:AndroidStudio获取SHA1值
获取到key,我们一起粗略了解下官方提供相关知识。
3.了解官方干货
谷歌官方将地图相关SDK区分为五大类,如下图:
在这里,大家可能会疑问,2D地图 3D地图,这又是什么鬼?别急,下面为大家附上官方解释。
LZ果断选择3D地图,不要问为什么,就是喜欢新的!!!
下载完成之后,运行的时候需要在高德上申请key,否则无法运行!
最好还是下载SDK所有的,都看看,也耽误不了多少功夫。如下图,简介明了,大家根据需求去进行开发,这里就不做过多说明了。
该了解的也差不多了,下面开启撸码之路~
又是一个人在晚上孤军奋战,没办法,答应了别人。人嘛,在家,对得起父母;在外,对得起朋友;谁不想回来做个饭,喝点小酒,歇会儿,看看电视,吃饱溜达溜达。可惜呐。当年的事情无论如何都是一份回忆,没有过往,哪儿来的未来,愿我们一起成长!
先来个小目标,实现显示高德地图
第一步,配置AndroidManifest.xml,添加基本权限
&!--项目权限模块(这里写这个的目的就是为了方便,将权限中区分开不同的模块,便于后期其他人进行维护,管理)--& &!--允许程序打开网络套接字--& &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"/&
设置高德Key
&!-- 项目第三方key配置模块 --& &!-- 高德地图key --& &meta-data android:name="com.amap.api.v2.apikey" android:value="98e3ff390b(这里填写个人申请的key即可)"/&
第二步,向工程中添加地图所需so库以及引入开发包
首先添加so文件,在src/main/目录下新建jniLibs目录,并将文件放入其中,LZ这里只兼容armeabi以及arm64-v8a;
Android 中arm64-v8a、armeabi-v7a、armeabi、x86简介~
添加完成后,如下所示:
接下来,配置dependencies,由于我们第一个目标是要实现显示地图,所以我们要在项目的build.gradle中添加如下一行地址即可。
compile ‘com.amap.api:3dmap:latest.integration’
之后点击右上方的sync now,万能的死丢丢会亲自下载相关包~
第三步,初始化地图容器
在我们的layout中,添加地图控件
&?xml version="1.0" encoding="utf-8"?&&LinearLayout xmlns:android="/apk/res/android" xmlns:tools="/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="cn.hlq.gaodemapdemo.map.GaoDeLocationActivity"& &com.amap.api.maps.MapView android:id="@+id/id_gaode_location_map" android:layout_width="match_parent" android:layout_height="match_parent"/&&/LinearLayout&
Activity管理地图生命周期
package cn.hlq.gaodemapdemo.import android.app.Aimport android.os.Bimport com.amap.api.maps.AMimport com.amap.api.maps.MapVimport cn.hlq.gaodemapdemo.R;/** * create by heliquan at 日23:26:59 */public class GaoDeLocationActivity extends Activity { private MapView mapV private AMap aM @Override protected void onResume() { super.onResume(); // 重新绘制加载地图 mapView.onResume(); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_gao_de_location); initView(); // 创建地图 mapView.onCreate(savedInstanceState); } @Override protected void onPause() { super.onPause(); // 暂停地图的绘制 mapView.onPause(); } @Override protected void onDestroy() { super.onDestroy(); // 销毁地图 mapView.onDestroy(); } /** * 重写此方法,在activity执行onSaveInstanceState时执行mMapView.onSaveInstanceState (outState),保存地图当前的状态 * * @param outState */ @Override protected void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); mapView.onSaveInstanceState(outState); } private void initView() { // 实例化地图控件 mapView = (MapView) findViewById(R.id.id_gaode_location_map); }}
在这里也简单为大家拓展下小知识。
第四步,显示地图
private void initView() { // 实例化地图控件 mapView = (MapView) findViewById(R.id.id_gaode_location_map); if (aMap == null) { // 显示地图 aMap = mapView.getMap(); } }
第五步,查看我们的成果
到此,地图显示,我们已经完成了~
接下来,开启定位之旅~
第一步,引入定位依赖~
compile ‘com.amap.api:location:latest.integration’
第二步,添加高德地图定位服务
&!-- 项目Service模块 --&
&!-- GaoDeLocationService --& &service android:name="com.amap.api.location.APSService"/&
第三步,实现定位监听,重写三个方法
implements &font color="#FF0000" style="box-sizing: border-"&LocationSource, AMapLocationListener&/font&
LZ在这里就直接贴代码了,相关注释也写的很明确了~!
@TargetApi(Build.VERSION_CODES.N) @Override public void onLocationChanged(AMapLocation aMapLocation) { // 解析AMapLocation对象 // 判断AMapLocation对象不为空,当定位错误码类型为0时定位成功 if (aMapLocation != null) { if (aMapLocation.getErrorCode() == 0) { aMapLocation.getLocationType(); // 获取当前定位结果来源,如网络定位结果,详见定位类型表 aMapLocation.getLatitude(); // 获取纬度 aMapLocation.getLongitude(); // 获取经度 aMapLocation.getAccuracy(); // 获取精度信息 aMapLocation.getAddress(); // 地址,如果option中设置isNeedAddress为false,则没有此结果,网络定位结果中会有地址信息,GPS定位不返回地址信息。 aMapLocation.getCountry(); // 国家信息 aMapLocation.getProvince(); // 省信息 aMapLocation.getCity(); // 城市信息 aMapLocation.getDistrict(); // 城区信息 aMapLocation.getStreet(); // 街道信息 aMapLocation.getStreetNum(); // 街道门牌号信息 aMapLocation.getCityCode(); // 城市编码 aMapLocation.getAdCode(); // 地区编码 aMapLocation.getAoiName(); // 获取当前定位点的AOI信息 aMapLocation.getBuildingId(); // 获取当前室内定位的建筑物Id aMapLocation.getFloor(); // 获取当前室内定位的楼层 aMapLocation.getGpsAccuracyStatus(); // 获取GPS的当前状态 // 获取定位时间 SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date date = new Date(aMapLocation.getTime()); df.format(date); // 设置缩放级别 aMap.moveCamera(CameraUpdateFactory.zoomTo(17)); // 将地图移动到定位点 aMap.moveCamera(CameraUpdateFactory.changeLatLng(new LatLng(aMapLocation.getLatitude(), aMapLocation.getLongitude()))); // 点击定位按钮 能够将地图的中心移动到定位点 mListener.onLocationChanged(aMapLocation); } else { // 定位失败时,可通过ErrCode(错误码)信息来确定失败的原因,errInfo是错误信息,详见错误码表。 Log.e("HLQ_Struggle", "location Error, ErrCode:" + aMapLocation.getErrorCode() + ", errInfo:" + aMapLocation.getErrorInfo()); } } } @Override public void activate(OnLocationChangedListener onLocationChangedListener) { mListener = onLocationChangedL } @Override public void deactivate() { mListener = }
第四步,初始化高德地图以及基本配置并开启定位
aMap.getUiSettings().setZoomControlsEnabled(false); // 设置地图默认的指南针是否显示 aMap.getUiSettings().setCompassEnabled(true); // 设置定位监听 aMap.setLocationSource(this); // 设置默认定位按钮是否显示 aMap.getUiSettings().setMyLocationButtonEnabled(true); // 设置为true表示显示定位层并可触发定位,false表示隐藏定位层并不可触发定位,默认是false aMap.setMyLocationEnabled(true); aMap.setMyLocationType(AMap.LOCATION_TYPE_LOCATE);
初始化高德地图,开启定位
/** * 初始化高德地图 */ public void initGaoDeMap() { // 初始化定位 mLocationClient = new AMapLocationClient(getApplicationContext()); // 设置高德地图定位回调监听 mLocationClient.setLocationListener(this); // 初始化AMapLocationClientOption对象 mLocationOption = new AMapLocationClientOption(); // 高精度定位模式:会同时使用网络定位和GPS定位,优先返回最高精度的定位结果,以及对应的地址描述信息 // 设置定位模式为AMapLocationMode.Hight_Accuracy,高精度模式 mLocationOption.setLocationMode(AMapLocationClientOption.AMapLocationMode.Hight_Accuracy); // 低功耗定位模式:不会使用GPS和其他传感器,只会使用网络定位(Wi-Fi和基站定位); //设置定位模式为AMapLocationMode.Battery_Saving,低功耗模式。 //mLocationOption.setLocationMode(AMapLocationClientOption.AMapLocationMode.Battery_Saving); // 仅用设备定位模式:不需要连接网络,只使用GPS进行定位,这种模式下不支持室内环境的定位,自 v2.9.0 版本支持返回地址描述信息。 // 设置定位模式为AMapLocationMode.Device_Sensors,仅设备模式。 //mLocationOption.setLocationMode(AMapLocationClientOption.AMapLocationMode.Device_Sensors); // SDK默认采用连续定位模式,时间间隔2000ms // 设置定位间隔,单位毫秒,默认为2000ms,最低1000ms。 mLocationOption.setInterval(3000); // 设置定位同时是否需要返回地址描述 //设置是否返回地址信息(默认返回地址信息) mLocationOption.setNeedAddress(true); // 设置是否强制刷新WIFI,默认为强制刷新。每次定位主动刷新WIFI模块会提升WIFI定位精度,但相应的会多付出一些电量消耗。 // 设置是否强制刷新WIFI,默认为true,强制刷新。 mLocationOption.setWifiActiveScan(true); // 设置是否允许模拟软件Mock位置结果,多为模拟GPS定位结果,默认为false,不允许模拟位置。 // 设置是否允许模拟位置,默认为false,不允许模拟位置 mLocationOption.setMockEnable(false); // 设置定位请求超时时间,默认为30秒 // 单位是毫秒,默认30000毫秒,建议超时时间不要低于8000毫秒。 mLocationOption.setHttpTimeOut(50000); // 设置是否开启定位缓存机制 // 缓存机制默认开启,可以通过以下接口进行关闭。 // 当开启定位缓存功能,在高精度模式和低功耗模式下进行的网络定位结果均会生成本地缓存,不区分单次定位还是连续定位。GPS定位结果不会被缓存。 // 关闭缓存机制 mLocationOption.setLocationCacheEnable(false); // 设置是否只定位一次,默认为false mLocationOption.setOnceLocation(false); // 给定位客户端对象设置定位参数 mLocationClient.setLocationOption(mLocationOption); // 启动高德地图定位 mLocationClient.startLocation(); }
撸了一会儿码,现在来瞅瞅效果吧~
咦,这个时候大家可能会问了,怎么移动别的地方之后还是会定位到当前呢?表急,让我们一起来看看这个问题究竟是什么导致的,当然LZ能力有限,只能简单推测,不正之处欢迎指正~
咦,怎么滑动地图总是会定位到原点呢?
怀着这个问题,让我们一起来回顾下之前的代码,大概如下:
我们设置高德地图为连续的精度定位,且在回调的时候,我们会根据当前获取到的经度纬度去移动当某个点。这时候,大家会不会知道在哪儿动手脚可以简单,快速解决这个问题了呢?
解决办法如下:
if(isFirstLocation){ // 设置缩放级别 aMap.moveCamera(CameraUpdateFactory.zoomTo(17)); // 将地图移动到定位点 aMap.moveCamera(CameraUpdateFactory.changeLatLng(new LatLng(aMapLocation.getLatitude(), aMapLocation.getLongitude()))); // 点击定位按钮 能够将地图的中心移动到定位点 mListener.onLocationChanged(aMapLocation); isFirstLocation=}
此时,我们再次运行看看效果如何~
到现在,我们已经实现关于高德地图显示,定位,以及在实现定位过程中间出现的小插曲,相信大家看到这里已经掌握了关于高德地图的显示以及定位。下面为大家附上GitHub地址:/HLQ-Struggle/GaoDeMapDemo,查看详细源码请点击“阅读原文”,可以和作者交流,欢迎大家点赞和评论。
大家都在看
浅淡MVP的实战演习,让代码结构更简单~
送上自定义View实现小例一个,请接收!
高仿墨迹天气蓝天白云场景效果
哇 上周去参加线下沙龙的那个妹子好萌啊
责任编辑:
声明:本文由入驻搜狐号的作者撰写,除搜狐官方账号外,观点仅代表作者本人,不代表搜狐立场。
今日搜狐热点andriod(68)
高德地图(2)
public AMapLocationClient mLocationClient = null;
public AMapLocationClientOption mLocationOption = null;
调用initMap()方法
private void initMap() {
mLocationClient = new AMapLocationClient(DingdanFabuActivity.this);
mLocationClient.setLocationListener(mLocationListener);
mLocationOption = new AMapLocationClientOption();
mLocationOption.setLocationMode(AMapLocationClientOption.AMapLocationMode.Hight_Accuracy);
mLocationOption.setNeedAddress(true);
mLocationOption.setOnceLocation(false);
mLocationOption.setWifiActiveScan(true);
mLocationOption.setMockEnable(false);
mLocationOption.setInterval(2000);
mLocationClient.setLocationOption(mLocationOption);
mLocationClient.startLocation();
public AMapLocationListener mLocationListener = new AMapLocationListener() {
public void onLocationChanged(AMapLocation amapLocation) {
if (amapLocation != null) {
if (amapLocation.getErrorCode() == 0) {
amapLocation.getLocationType();
amapLocation.getLatitude();
amapLocation.getLongitude();
amapLocation.getAccuracy();
java.text.SimpleDateFormat df = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = new Date(amapLocation.getTime());
df.format(date);
amapLocation.getAddress();
amapLocation.getCountry();
amapLocation.getProvince();
amapLocation.getCity();
amapLocation.getDistrict();
amapLocation.getStreet();
amapLocation.getStreetNum();
amapLocation.getCityCode();
amapLocation.getAdCode();
mLocationClient.stopLocation();
Log.e("info","location Error, ErrCode:"
+ amapLocation.getErrorCode() + ", errInfo:"
+ amapLocation.getErrorInfo());
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:10604次
排名:千里之外
原创:49篇
转载:33篇
(20)(9)(4)(2)(8)(5)(8)(9)(5)(4)(1)(3)(3)}

我要回帖

更多关于 openamaplocationsdk 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信