1.到百度地图开放平台下载定位SDK:
地址:http://lbsyun.baidu.com/index.php?title=android-locsdk/geosdk-android-download
解压下载的文件,把其中的 armeabi 文件夹拷贝到安卓项目的 libs 目录下,同时把解压得到的文件中的jar文件拷贝到 libs 目录下。

项目右键 -> Properties -> Java Build Path -> Libraries -> add External Jars -> 选择硬盘目录下的jar包文件,然后引入。

再把jar文件直接复制到该项目中。
得到:

2.在百度地图开放平台申请密匙。
得到:VncByZSyzFUSFZLlZzpktOBbLgMUKnZl

3.在项目AndroidManifest.xml中添加权限及注册。
权限:

<!-- 这个权限用于进行网络定位 -->  <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" >  </uses-permission>  <!-- 这个权限用于访问GPS定位 -->  <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" >  </uses-permission>  <!-- 用于访问wifi网络信息,wifi信息会用于进行网络定位 -->  <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" >  </uses-permission>  <!-- 获取运营商信息,用于支持提供运营商信息相关的接口 -->  <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" >  </uses-permission>  <!-- 这个权限用于获取wifi的获取权限,wifi信息会用来进行网络定位 -->  <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" >  </uses-permission>  <!-- 用于读取手机当前的状态 -->  <uses-permission android:name="android.permission.READ_PHONE_STATE" >  </uses-permission>  <!-- 写入扩展存储,向扩展卡写入数据,用于写入离线定位数据 -->  <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" >  </uses-permission>  <!-- 访问网络,网络定位需要上网 -->  <uses-permission android:name="android.permission.INTERNET" />  <!-- SD卡读取权限,用户写入离线定位数据 -->  <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" >  </uses-permission>  <!-- 允许应用读取低级别的系统日志文件 -->  <uses-permission android:name="android.permission.READ_LOGS" >  </uses-permission> 

注册:类似Activity的注册,其中value=“你申请的密匙”

<meta-data
            android:name="com.baidu.lbsapi.API_KEY"android:value="VncByZSyzFUSFZLlZzpktOBbLgMUKnZl" /><service  android:name="com.baidu.location.f"  android:enabled="true"  android:process=":remote" >  </service>

4.最后在Activity中写代码:

public class MainActivity extends Activity /*implements OnClickListener */{  private static final String TAG = "dzt";  private TextView mText;  private TextView mTextPoi;  private LocationClient mLocationClient = null;  private BDLocationListener myListener = new MyLocationListener();  @Override  protected void onCreate(Bundle savedInstanceState) {  super.onCreate(savedInstanceState);  setContentView(R.layout.activity_weather);  mLocationClient = new LocationClient(getApplicationContext());mLocationClient.registerLocationListener(myListener); // 注册监听函数  setLocationOption();  mLocationClient.start();// 开始定位  //initWidgets(); mText = (TextView) findViewById(R.id.tv_text);  mTextPoi = (TextView) findViewById(R.id.tv_text_poi); Button btn1 = (Button) findViewById(R.id.btn_request);Button btn = (Button) findViewById(R.id.btn_request_poi);if (mLocationClient != null && mLocationClient.isStarted())  mLocationClient.requestLocation();  else  Log.d(TAG, "locClient is null or not started"); if (mLocationClient != null && mLocationClient.isStarted())  mLocationClient.requestPoi(); }  /** * 设置相关参数 */  private void setLocationOption() {  LocationClientOption option = new LocationClientOption();  option.setOpenGps(true);  option.setIsNeedAddress(true);// 返回的定位结果包含地址信息  option.setAddrType("all");// 返回的定位结果包含地址信息  option.setCoorType("bd09ll");// 返回的定位结果是百度经纬度,默认值gcj02  option.setScanSpan(5000);// 设置发起定位请求的间隔时间为5000ms  option.disableCache(true);// 禁止启用缓存定位  option.setPoiNumber(5); // 最多返回POI个数  option.setPoiDistance(1000); // poi查询距离  option.setPoiExtraInfo(true); // 是否需要POI的电话和地址等详细信息  mLocationClient.setLocOption(option);  }  public class MyLocationListener implements BDLocationListener {  @Override  public void onReceiveLocation(BDLocation location) {  if (location == null)  return;  StringBuffer sb = new StringBuffer(256);  sb.append("当前时间 : ");  sb.append(location.getTime());  sb.append("\n错误码 : ");  sb.append(location.getLocType());  sb.append("\n纬度 : ");  sb.append(location.getLatitude());  sb.append("\n经度 : ");  sb.append(location.getLongitude());  sb.append("\n半径 : ");  sb.append(location.getRadius());  if (location.getLocType() == BDLocation.TypeGpsLocation) {  sb.append("\n速度 : ");  sb.append(location.getSpeed());  sb.append("\n卫星数 : ");  sb.append(location.getSatelliteNumber());  } else if (location.getLocType() == BDLocation.TypeNetWorkLocation) {  sb.append("\n地址 : ");  sb.append(location.getAddrStr());  }  mText.setText(sb.toString()); //在TextView中显示地址 Log.d(TAG, "onReceiveLocation " + sb.toString());  }  public void onReceivePoi(BDLocation poiLocation) {  }

Android实现百度地图定位(墨雪亲测)相关推荐

  1. Android开发——百度地图定位

    Android开发--百度地图定位 项目需求 项目内容 注册和获取秘钥 获取项目SHA1码 获取项目AK码 AS依赖配置 AS源码 AndroidManifest文件 布局文件 DemoApplica ...

  2. 基于Android的百度地图定位开发

    百度地图定位 一.注册和获取密钥 1.获取SHA1 2.获取包名 二.AS配置 三.显示地图开发 1.添加地图权限 2.添加地图容器 3.地图初始化 4.创建地图Activity,管理MapView生 ...

  3. unlegal android,cordova-plugin-baidumaplocation百度地图定位Cordova插件

    百度地图定位Cordova插件,支持Android,IOS 可以在此地址查看example 基于百度地图Android版定位SDK(v7.1)以及百度地图IOS SDK (v3.2.1) 一,申请An ...

  4. Android使用百度地图定位并显示手机位置后使用前置摄像头“偷拍”

    今天老板让我验证一下技术可行性,记录下来. 需求 :定位手机的位置并在百度地图上显示,得到位置后使用前置摄像头进行抓拍 拿到这个需求后,对于摄像头的使用不太熟悉,于是我先做了定位手机并在百度地图上显示 ...

  5. flutter 实现Android端百度地图定位

    1.先在百度地图官网申请百度地图AK 百度地图开放平台 | 百度地图API SDK | 地图开发 2.安装flutter百度地图插件 #百度定位flutter_bmflocation: ^1.0.4# ...

  6. Android之百度地图定位最详细使用总结

    Android之百度定位                         如果项目里面有定位功能的话,一般还是觉得蛮高大上的,我们项目用的百度定位,到网上找了很多资料,很多都不全面,很多博客都没有小伙 ...

  7. Android使用百度地图定位SDK在wifi下位置偏差

    前段时间公司上马了一个Android项目,其中用到了百度地图的定位SDK(V 3.1),上线后有用户反馈来说定位的位置不准确(我们展示给用户的地址是具体的街道地址,原来是直接使用的百度地图 SDK,需 ...

  8. Android — 之百度地图定位+添加Mark+InfoWindow

    前言: 新手上路,这几天在弄百度地图SDK的使用(吐槽 : 官网上的开发指南简直就是实力坑爹,可能是开发人员太忙,维护不及时吧),我对本次学习的要求也不高:能正常显示地图,能定位,能添加mark(覆盖 ...

  9. Android利用百度地图定位

    百度地图照着百度的教程做的总是出现报错 请帮我看看错误在那 2013-12-13 15:16168海军 | 分类:百度地图 | 浏览1252次 java.lang.RuntimeException: ...

最新文章

  1. 2022-2028年中国聚合物气体分离膜行业市场发展模式及投资前景分析报告
  2. api 定位 微信小程序 精度_聊聊微信小程序内置地图定位的精确性
  3. BeanUtils自定义转换器
  4. Java微服务:蛋糕是骗人的,但您不能忽略它
  5. SQL预编译防注入小测试
  6. vector源码剖析
  7. rust怎么传送到队友_对阵时遇到中二病怎么办?还能怎么办,溜TA就对了!
  8. java 调用 easypr_EasyPR-Java项目maven版本所需jar包
  9. SQL Server 2008 R2的完全卸载
  10. php mac开启socket,mac上nginx以socket的方式连接php-fpm出现502错误?
  11. linux查找历史记录内容,linux中查看历史记录
  12. 大数据与个人隐私的平衡:懂你,但不认识你
  13. #PixelConFi | 这个教师节,以投票代替祝福
  14. git学习之时光穿梭机
  15. ubuntu18.04安装opencv的viz模块
  16. 微信CRM六大模块详解
  17. 求二阶系统输入单位斜坡响应matlab,二阶系统的斜坡响应教程.docx
  18. 6.获取环球时报关键词新闻--动态网页Ajax
  19. 使用腾讯语音合成技术生成有声书
  20. 借鉴:软考高项备考考试心得,来自一名学员的总结,非常全

热门文章

  1. 配电系统中的瞬时故障
  2. 阿里推送 NodeJS 给iOS及ANDROID 发推送。
  3. python自动下载高品质无损歌曲
  4. vue大屏展示 代码 从0 到1
  5. python实现PDF压缩
  6. itwangyang - 再次继续卷起来-20 个 JS 封装工具函数
  7. 三角形公式 [重心, 内心, 外心, 垂心]
  8. ajax 中的contentType
  9. 1/6黄金最新走势分析美原油全面操作建议
  10. 第5章.网站首页高可用nginx+lua