高德地图获取位置信息代码(包要到高德官网去下)
2016-10-06 14:57
501 查看
package com.example.yuanmu.lunbo.Util; import android.content.Context; import com.amap.api.location.AMapLocation; import com.amap.api.location.AMapLocationClient; import com.amap.api.location.AMapLocationClientOption; import com.amap.api.location.AMapLocationListener; /** * Created by Administrator on 2016/10/6 0006. */ public class getLocationInfo { private LocationListener LocationListener; //经纬度 public double mLongitude; public double mLatitude; public String mCity; public boolean mUploadSwitch = false; private Context context; public getLocationInfo(Context context){ this.context = context; initLocation(); startLocation(); } private AMapLocationClient locationClient = null; private AMapLocationClientOption locationOption = new AMapLocationClientOption(); //以下是高德地图 private void initLocation(){ //初始化client locationClient = new AMapLocationClient(context.getApplicationContext()); //设置定位参数 locationClient.setLocationOption(getDefaultOption()); // 设置定位监听 locationClient.setLocationListener(locationListener); if (null == locationOption) { locationOption = new AMapLocationClientOption(); locationOption.setLocationMode(AMapLocationClientOption.AMapLocationMode.Battery_Saving); locationOption.setNeedAddress(true); locationOption.setLocationCacheEnable(true); locationClient.setLocationOption(locationOption); } } /** * 定位监听 */ AMapLocationListener locationListener = new AMapLocationListener() { @Override public void onLocationChanged(AMapLocation loc) { if (null != loc) { //todo MyLog.i("kkk","获取位置信息成功!"); mUploadSwitch = true; mCity = loc.getCity(); mLongitude = loc.getLongitude(); mLatitude = loc.getLatitude(); if(LocationListener!=null) { LocationListener.finish(mLongitude, mLatitude, mCity); } } else { MyLog.i("kkk","Fail!"); } } }; private AMapLocationClientOption getDefaultOption(){ AMapLocationClientOption mOption = new AMapLocationClientOption(); mOption.setLocationMode(AMapLocationClientOption.AMapLocationMode.Hight_Accuracy);//可选,设置定位模式,可选的模式有高精度、仅设备、仅网络。默认为高精度模式 mOption.setGpsFirst(false);//可选,设置是否gps优先,只在高精度模式下有效。默认关闭 mOption.setHttpTimeOut(30000);//可选,设置网络请求超时时间。默认为30秒。在仅设备模式下无效 mOption.setInterval(1800000);//可选,设置定位间隔。默认为2秒 mOption.setNeedAddress(true);//可选,设置是否返回逆地理地址信息。默认是ture mOption.setOnceLocation(false);//可选,设置是否单次定位。默认是false mOption.setOnceLocationLatest(false);//可选,设置是否等待wifi刷新,默认为false.如果设置为true,会自动变为单次定位,持续定位时不要使用 AMapLocationClientOption.setLocationProtocol(AMapLocationClientOption.AMapLocationProtocol.HTTP);//可选, 设置网络请求的协议。可选HTTP或者HTTPS。默认为HTTP return mOption; } private void startLocation(){ //根据控件的选择,重新设置定位参数 resetOption(); // 设置定位参数 locationClient.setLocationOption(locationOption); // 启动定位 locationClient.startLocation(); } // 根据控件的选择,重新设置定位参数 private void resetOption() { // 设置是否需要显示地址信息 locationOption.setNeedAddress(true); /** * 设置是否优先返回GPS定位结果,如果30秒内GPS没有返回定位结果则进行网络定位 * 注意:只有在高精度模式下的单次定位有效,其他方式无效 */ // locationOption.setGpsFirst(true);=========================================================== // 设置是否开启缓存 locationOption.setLocationCacheEnable(true); //设置是否等待设备wifi刷新,如果设置为true,会自动变为单次定位,持续定位时不要使用 locationOption.setOnceLocationLatest(true); } public void setLocationListener(getLocationInfo.LocationListener locationListener) { LocationListener = locationListener; } public interface LocationListener{ void finish(Double longitude,Double latitude,String city); } }
相关文章推荐
- 高德地图准确获取当前位置信息
- 高德完美获取地理位置信息并显示出来~~
- Android笔记之高德地图定位(通过开启服务发送广播用handle消息机制更新位置信息)
- 通过poi获取到了商店的地理位置之后,如何获取商店的详细信息。是需要商店提供还是地图提供
- 高德地图——加载当前位置 LBS获取自定义坐标
- arcgis二次开发时,c#代码实现鼠标点击地图时,获取地图的表的字段的信息
- 百度地图_根据地图上标记位置获取街道信息,以及经纬度信息
- iOS 高德地图设置中心点,获取中心点的详细位置和经纬度
- 【微信开发】-发送位置获取周边信息及生成百度静态图, 主要代码在private function receiveLocation($object)
- 备份获取位置信息代码
- java获取代码调用位置信息
- 高德地图远程获取手机的敏感信息可远程命令执行(可以远程利用非webview)
- PHP获取操作系统、IP、地理位置、浏览器、ISP等信息_PHP类代码
- 基于高德sdk实现摩拜单车主界面,滑动地图获取地址信息
- 从google的json接口获取地理位置信息的Java代码
- 高德地图获取位置分析坐标
- cocos2d-x获取屏幕位置信息代码 分类: cocos2d代码编写 2015-07-28 21:32 7人阅读 评论(0) 收藏
- cocos2d-x获取屏幕位置信息代码
- Android高德地图设置中心点图标,通过逆地理编码实时获取中心点的经纬度和详细位置
- iOS中利用系统地图获取定位信息(经纬度/地理位置)