android高德地图定位功能的实现
来源:互联网 发布:如何ping ip 端口 编辑:程序博客网 时间:2024/04/29 18:33
<1>先去高德开放平台去申请开发者账号,并且创建应用,获取API Key
<2>在清单文件中配置key,其中value是应用的key值
<meta-data android:name="com.amap.api.v2.apikey" android:value="952d22d6f6e916e38fbe830d4517ca12" />
配置权限
<!-- 用于进行网络定位 --> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <!-- 用于访问GPS定位 --> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <!-- 用于获取运营商信息,用于支持提供运营商信息相关的接口 --> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!-- 用于访问wifi网络信息,wifi信息会用于进行网络定位 --> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <!-- 用于获取wifi的获取权限,wifi信息会用来进行网络定位 --> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> <!-- 用于访问网络,网络定位需要上网 --> <uses-permission android:name="android.permission.INTERNET" /> <!-- 用于读取手机当前的状态 --> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <!-- 用于写入缓存数据到扩展存储卡 --> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <!-- 用于申请调用A-GPS模块 --> <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" /> <!-- 用于申请获取蓝牙信息进行室内定位 --> <uses-permission android:name="android.permission.BLUETOOTH" /> <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<3>在xml文件中添加地图控件
<com.amap.api.maps.MapView android:id="@+id/location_view" android:layout_width="match_parent" android:layout_height="match_parent"></com.amap.api.maps.MapView>
<4>展示定位地图
public class LocationActivity extends AppCompatActivity { public AMapLocationClient client=null; private AMapLocationClientOption option=null; private MapView mapView; private AMap map; private TextView tvAdd; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_location); initView(savedInstanceState); } private void initListener() { client.setLocationListener(new AMapLocationListener() { @Override public void onLocationChanged(AMapLocation aMapLocation) { if(aMapLocation!=null){ if(aMapLocation.getErrorCode()==0){ aMapLocation.getLocationType();//获取当前结果来源,如网络定位.GPS定位 double lat=aMapLocation.getLatitude();//获取纬度 double lon=aMapLocation.getLongitude();//获取经度 aMapLocation.getAccuracy();//获取精度信息// option.setOnceLocation(true); SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date date=new Date(aMapLocation.getTime());//定位时间 LatLng latlon=new LatLng(lat,lon); MarkerOptions marker=new MarkerOptions(); map.moveCamera(CameraUpdateFactory.newLatLngZoom(latlon,15));//显示在指定位置 marker.position(latlon); marker.title("当前位置"); marker.visible(true); BitmapDescriptor bitmapDescriptor= BitmapDescriptorFactory.fromBitmap(BitmapFactory.decodeResource(getResources(),R.drawable.point)); marker.icon(bitmapDescriptor); map.addMarker(marker); tvAdd.setText("当前位置:"+aMapLocation.getAddress()+" "+format.format(date)); }else{ Toast.makeText(LocationActivity.this,"定位失败",Toast.LENGTH_SHORT).show(); } } map.setMyLocationEnabled(true); } }); } private void initLocation() { option=new AMapLocationClientOption(); option.setLocationMode(AMapLocationClientOption.AMapLocationMode.Hight_Accuracy); option.setNeedAddress(true); option.setInterval(60000); client.setLocationOption(option); client.startLocation(); } private void initView(Bundle savedInstanceState) { mapView = ((MapView) findViewById(R.id.location_view)); tvAdd = ((TextView) findViewById(R.id.location_tv)); //此方法必须重写 mapView.onCreate(savedInstanceState); client=new AMapLocationClient(getApplicationContext()); initListener(); map=mapView.getMap(); map.setMapType(AMap.MAP_TYPE_NORMAL); initLocation(); } @Override protected void onResume() { super.onResume(); mapView.onResume(); } @Override protected void onPause() { super.onPause(); mapView.onPause(); } @Override protected void onDestroy() { super.onDestroy(); client.onDestroy(); } @Override public void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); mapView.onSaveInstanceState(outState); }}
0 0
- Android 高德地图定位功能的实现步骤
- android高德地图定位功能的实现
- 高德地图的定位功能的实现
- 利用高德地图实现定位功能
- Android之高德地图定位SDK集成及地图功能实现
- android+高德地图实现基本地图和基本定位功能
- Android高德地图实现后台定位
- 高德地图定位功能
- 高德地图定位功能
- Android中高德地图定位功能的实现
- 高德地图定位的简单实现
- android 实现地图定位功能
- Android 使用高德地图简单实现地图定位
- iOS获取高德地图实现持续定位功能
- Android开发-----定位功能的实现----腾讯地图定位
- Android高德地图的定位
- android 高德地图之poi搜索功能的实现
- Android简单实现 高德地图的定位与显示,点击按钮切换地图图层
- Spring系列-深入研究资源加载
- android ffmpeg的一个问题
- 跳蚤王国
- dlib face alignment 人脸关键点的训练和测试
- [框架]eclipse搭建ssm框架 一
- android高德地图定位功能的实现
- 利用Python进行数据分析 笔记1
- java ssh面试
- js中的对象类型与具体的对象
- 安卓数据存储-SQLite数据库
- Android去掉自带标题栏
- ubuntu 16 安装qq
- 二叉树面试题
- ajax的常见几种写法以及用法