首页 > 代码库 > 百度定位SDK的使用示例
百度定位SDK的使用示例
本文基于最新的百度地图定位SDK(V4.0 版本)使用的定位Demo
使用百度地图SDK进行实时定位的主要有6步:
// 启用定位mBaiduMap.setMyLocationEnabled(true);// 1. 初始化LocationClient类mLocationClient = new LocationClient(getApplicationContext());// 2. 声明LocationListener类(负责监听位置变化)locationListener = new MyLocationListener();// 3. 注册监听函数mLocationClient.registerLocationListener(locationListener);// 4. 设置参数LocationClientOption clientOption = new LocationClientOption();clientOption.setLocationMode(LocationClientOption.LocationMode.Hight_Accuracy);// 设置定位模式clientOption.setCoorType("bd09ll"); // 设置定位结果类型clientOption.setScanSpan(5000); // 设置发起定位请求的时间间隔,msclientOption.setIsNeedAddress(true); // 设置返回的定位结果包含地址信息clientOption.setNeedDeviceDirect(true);// 设置返回结果包含手机的方向// 5. 应用上面的参数mLocationClient.setLocOption(clientOption);// 6. 注册位置提醒监听事件// 7. 开启/关闭 定位SDKmLocationClient.start();mLocationClient.stop();为了实时监听我们位置的变化,我们需要实现BDLocationListener类,获得系统实时的位置信息,并重载onReceiveLocation方法返回位置结果class MyLocationListener implements BDLocationListener {// 异步返回的定位结果@Overridepublic void onReceiveLocation(BDLocation bdLocation) {if (bdLocation == null) {return;}locType = bdLocation.getLocType();Toast.makeText(MainActivity.this, "当前定位的返回值是:" + locType, Toast.LENGTH_SHORT).show();longitude = bdLocation.getLongitude();latitude = bdLocation.getLatitude();if (bdLocation.hasRadius()) {// 判断是否有定位精度半径radius = bdLocation.getRadius();}if (locType == BDLocation.TypeGpsLocation) {//Toast.makeText(MainActivity.this, "当前速度是:" + bdLocation.getSpeed() + "定位使用卫星数量:"+ bdLocation.getSatelliteNumber(), Toast.LENGTH_SHORT).show();} else if (locType == BDLocation.TypeNetWorkLocation) {addrStr = bdLocation.getAddrStr();// 获取反地理编码(文字描述的地址)Toast.makeText(MainActivity.this, addrStr, Toast.LENGTH_SHORT).show();}direction = bdLocation.getDirection();// 获取手机方向,【0~360°】,手机上面正面朝北为0°province = bdLocation.getProvince(); // 省份city = bdLocation.getCity(); // 城市district = bdLocation.getDistrict(); // 区县Toast.makeText(MainActivity.this, province + "~" + city + "~" + district, Toast.LENGTH_SHORT).show();// 构造定位数据MyLocationData locData = http://www.mamicode.com/new MyLocationData.Builder()>
百度定位SDK的使用示例
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。