Android百度地图学习笔记(一)
发布日期:2021-10-10 04:25:59 浏览次数:2 分类:技术文章

本文共 2706 字,大约阅读时间需要 9 分钟。

开发前准备。首先下载好百度地图所需要的SDK,并获取key。获取key的方法在百度API首页上的有。

小提示:可能做为开发者的你忘记了debug.keystore的密码(其实是根本就不知道) debug.keystore的密码是android。

这里将记录如何使用百度地图定位

  1. 在上面的准备工作做完以后,就可以再自己的程序里面做开发学习了。首先声明各种对象

    LocationClient mLocClient;private MyLocationListener myListener=new MyLocationListener();//MyLocationConfiguration配置定位图层的显示方式private com.baidu.mapapi.map.MyLocationConfiguration.LocationMode mCurrentMode=com.baidu.mapapi.map.MyLocationConfiguration.LocationMode.NORMAL; //定位模式BitmapDescriptor mCurrentMarker; //bitmap描述信息private MapView mMapView;private BaiduMap mBaiduMap;
  2. 上面的MyLocationListener是自己写的`public class MyLocationListener implements BDLocationListener{

    @Overridepublic void onReceiveLocation(BDLocation location) {    // TODO Auto-generated method stub    if (location==null || mMapView==null)         return;    /*     * mylocationdata位定位数据 其中accuracy为定位精度     * location.getRadius为获取定位精度     * direction为定位是GPS的方向角度     * latitude  百度纬度坐标     * longitude 百度经度坐标     */    MyLocationData locData=new MyLocationData.Builder()            .accuracy(location.getRadius())            .direction(100).latitude(location.getLatitude())            .longitude(location.getLongitude()).build();    mBaiduMap.setMyLocationData(locData);    if (isFirstLoc) {        isFirstLoc=false;        //latlng为地理坐标的基本数据结构,包括一个纬度,一个纬度经度        LatLng ll=new LatLng(location.getLatitude(),location.getLongitude());        //MapStatusUpdate 描述地理状态将要发生的变化         //MapStatusUpdateFactory 生成状态将要发生的变化  newLatLng设置地图的中心点        MapStatusUpdate u = MapStatusUpdateFactory.newLatLng(ll);        //animateMapStatus以动画的方式更新地图状态,时间为300ms        mBaiduMap.animateMapStatus(u);    }}public void onReceivePoi(BDLocation poiLocation) {}

    }`

  3. 初始化视图mMapView=(MapView) findViewById(R.id.bmapView);

    mBaiduMap=mMapView.getMap();
    mBaiduMap.setMapStatus(MapStatusUpdateFactory.newMapStatus(new MapStatus.Builder().zoom(15).build()));
    //开启定位图层
    mBaiduMap.setMyLocationEnabled(true);
    //定位初始化
    mLocClient=new LocationClient(this);
    mLocClient.registerLocationListener(myListener); //绑定监听器
    LocationClientOption option=new LocationClientOption();
    option.setLocationMode(com.baidu.location.LocationClientOption.LocationMode.Hight_Accuracy);//设置定位模式
    option.setAddrType("all"); //返回的定位结果包含地址信息
    option.setCoorType("bd09ll"); //返回的定位结果是百度经纬度,默认值gcj02国家测绘局坐标
    option.setScanSpan(1000); //设置发起定位请求的间隔时间为1000ms
    option.setIsNeedAddress(true); //返回的定位结果包含地址信息
    mLocClient.setLocOption(option);
    mLocClient.start();

  4. 初始化定位的模式mBaiduMap.setMyLocationConfigeration(new

    MyLocationConfiguration(mCurrentMode,
    true,
    mCurrentMarker));

  5. 初始化定位的显示图标mCurrentMarker=null;

    mBaiduMap.setMyLocationConfigeration(new MyLocationConfiguration(
    mCurrentMode, true, null));
    这里的第3个变量是图标的样式,你们可以选择自己喜欢的样式。

  6. 结果截图,定位还是很精确的,我这里的误差不到20

转载地址:https://blog.csdn.net/qq_21430549/article/details/45272181 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Android百度地图学习笔记(二)----路径规划
下一篇:android打开系统相册的一些方法

发表评论

最新留言

逛到本站,mark一下
[***.202.152.39]2024年03月26日 17时42分57秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

【大话Mysql面试】-Mysql索引 2019-04-26
【大话Mysql面试】-Mysql锁 2019-04-26
【大话Mysql面试】-Mysql常见面试题目 2019-04-26
08 【多线程高并发】Java线程间通信的方式 2019-04-26
【数据结构与算法】什么是跳表?通俗易懂来理解跳表 2019-04-26
【数据结构与算法】什么是图?图是什么?快速带你回顾图有关的知识点 2019-04-26
【数据结构与算法】什么是串?什么是KMP算法?字符串匹配是什么? 2019-04-26
【数据结构与算法】什么是布隆过滤器?如何防止缓存穿透的问题? 2019-04-26
【Java锁体系】CopyOnWriteArrayList是什么?线程安全的arraylist是哪个? 2019-04-26
【面试题目】Java设计模式你有哪些了解?说几个常用的。 2019-04-26
【计算机操作系统】常说的死锁是什么?死锁产生的必要条件是什么?死锁的解决策略是什么? 2019-04-26
【计算机操作系统】进程管理详解?进程与线程区别是什么?进程调度的算法有哪些?进程通信有哪些? 2019-04-26
【计算机操作系统】虚拟内存是什么?分页系统地址映射?页面置换算法有哪些?分段地址映射又是什么? 2019-04-26
【计算机操作系统】设备管理?磁盘结构是怎么样的?磁盘调度算法有哪些? 2019-04-26
【多线程高并发】为什么要使用多线程?创建多少个线程合适呢? 2019-04-26
【多线程与高并发】 Java两个线程轮流打印1-100两个数?多线程轮流打印数字? 2019-04-26
【多线程与高并发】 Java两个线程轮流打印字符串? 2019-04-26
【Linux命令篇】Linux命令实践 2019-04-26
【Leetcode单调队列】Leetcode239 滑动窗口最大值 2019-04-26
【Leetcode-单调栈】单调栈相关的题目-下一个更大的元素I 每日温度 2019-04-26