Android:百度地图定位,完整代码奉上_android开发百度地图获取默认定位图标和精度圈-程序员宅基地

技术标签: Android初学者  Android  

接着上一篇blog,SDK开发包自己选择有定位和导航的,so库这种怎么导入,略过!



直接上代码:



一、Java 

package example.com.baidumap_test;

import android.app.Activity;
import android.os.Bundle;
import android.widget.Toast;
import com.baidu.location.BDLocation;
import com.baidu.location.BDLocationListener;
import com.baidu.location.LocationClient;
import com.baidu.location.LocationClientOption;
import com.baidu.mapapi.SDKInitializer;
import com.baidu.mapapi.map.BaiduMap;
import com.baidu.mapapi.map.MapStatusUpdate;
import com.baidu.mapapi.map.MapStatusUpdateFactory;
import com.baidu.mapapi.map.MapView;
import com.baidu.mapapi.map.MyLocationData;
import com.baidu.mapapi.model.LatLng;

public class DingWeiActivity extends Activity implements BDLocationListener {

    /*
     百度Demo 参考,后续优化:图标显示可以改为罗盘,用一个线程更新坐标方向
        http://lbsyun.baidu.com/index.php?title=androidsdk/guide/create-map/location
     */

    private BaiduMap mBaiduMap;
    private MapView mMapView;
    public LocationClient mLocationClient = null;
    private boolean isFirstLoc = true;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //在使用SDK各组件之前初始化context信息,传入ApplicationContext
        //注意该方法要再setContentView方法之前实现
        SDKInitializer.initialize(getApplicationContext());
        setContentView(R.layout.activity_ding_wei);
        //获取地图控件引用
        mMapView = (MapView) findViewById(R.id.bmapView);
        mLocationClient = new LocationClient(getApplicationContext()); //声明LocationClient类
        mLocationClient.registerLocationListener(this);//注册监听函数
        initLocation();
        // 开启定位图层
        mBaiduMap = mMapView.getMap();
        mBaiduMap.setMyLocationEnabled(true);//显示定位层并且可以触发定位,默认是flase
        mLocationClient.start();//开启定位
    }

    //LocationClientOption类,该类用来设置定位SDK的定位方式
    private void initLocation() {
        LocationClientOption option = new LocationClientOption();
        option.setLocationMode(LocationClientOption.LocationMode.Hight_Accuracy
        );//可选,默认高精度,设置定位模式,高精度,低功耗,仅设备
        option.setCoorType("bd09ll");//可选,默认gcj02,设置返回的定位结果坐标系
        int span = 1000;
        option.setScanSpan(span);//可选,默认0,即仅定位一次,设置发起定位请求的间隔需要大于等于1000ms才是有效的
        option.setIsNeedAddress(true);//可选,设置是否需要地址信息,默认不需要
        option.setOpenGps(true);//可选,默认false,设置是否使用gps
        option.setLocationNotify(true);//可选,默认false,设置是否当gps有效时按照1S1次频率输出GPS结果
        option.setIsNeedLocationDescribe(true);//可选,默认false,设置是否需要位置语义化结果,可以在BDLocation.getLocationDescribe里得到,结果类似于“在北京天安门附近”
        option.setIsNeedLocationPoiList(true);//可选,默认false,设置是否需要POI结果,可以在BDLocation.getPoiList里得到
        option.setIgnoreKillProcess(false);//可选,默认true,定位SDK内部是一个SERVICE,并放到了独立进程,设置是否在stop的时候杀死这个进程,默认不杀死
        option.SetIgnoreCacheException(false);//可选,默认false,设置是否收集CRASH信息,默认收集
        option.setEnableSimulateGps(false);//可选,默认false,设置是否需要过滤gps仿真结果,默认需要
        mLocationClient.setLocOption(option);
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        //在activity执行onDestroy时执行mMapView.onDestroy(),实现地图生命周期管理
        mMapView.onDestroy();
        mLocationClient.stop();//关闭定位
        mBaiduMap.setMyLocationEnabled(false);
    }

    @Override
    protected void onResume() {
        super.onResume();
        //在activity执行on
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/ssh159/article/details/78609690

智能推荐

qt移植到OK6410开发板linux系统过程_qt lunix 通过网线复制到开发板-程序员宅基地

文章浏览阅读1.7k次。操作系统:ubuntu 11.04交叉编译工具链:arm-linux-gcc 4.3.2 源码:qt-everywhere-opensource-src-4.7.3.tar.gz移植过程:1 下载源码,解压,进入解压后文件夹:#tar zxvf qt-everywhere-opensource-src-4.7.3.tar.gz#cd qt-everywhere-o_qt lunix 通过网线复制到开发板

集体通宵发版怎么破?阿里敏捷教练开出四道“药方”-程序员宅基地

文章浏览阅读762次。阿里妹导读:忙不完的事情,解不完的bug,每次发版都得集体熬个大通宵。干得多,结果还不好。相信绝大部分技术工作者都有过这样的困扰。今天,阿里云效敏捷教练蔡春华以团队敏捷实..._干移动外包熬夜发版

SSM框架搭建使用json遇到406错误_som.406-程序员宅基地

文章浏览阅读897次。1. 后台返回JSON格式的数据,会报406错误。(fastjson)原因:Springframework框架版本过旧,最新的版本可以。2.请求报错:No converter found for return value of type: class com.alibaba.fastjson.JSONObject原因:报这种错误表示fastjson 或 jackson 转换SpringMVC错误,需_som.406

csdn-工具 资源 大全_csdn工具站-程序员宅基地

文章浏览阅读353次。1 .Android系统在超级终端下必会的命令大全(adb shell命令大全) 2 . 顶级外语学习资源[转] 近600个教学学习资料链接 3 .电脑故障维修判断指导大全(联想内部文件)[网络转载] 4 .11月热门下载资源TOP100强力推荐! 5 .电子书下载网址大全 6 .电脑知识大全 7 .电脑DOS命令大全 8 .Windows 2003安全设置大全 9 .电脑快捷键大_csdn工具站

“做好大数据测试,我是认真的!”-程序员宅基地

文章浏览阅读1w次,点赞20次,收藏102次。阿里妹导读:大数据已然是当下的重要课题,大大小小的企业在重视大数据的同时,也渐渐重视大数据质量的问题。阿里巴巴测试开发专家小郅,今天会分享他对数据测试的系统性思考。文章内..._大数据测试工作规划

lvs+keepalived+nginx高性能负载均衡集群-程序员宅基地

文章浏览阅读4.6k次,点赞14次,收藏60次。lvs+keepalived+nginx高性能负载均衡集群项目发布时候,别人还能访问呢?双机主从热备LVS作用LVS是一个开源的软件,可以实现传输层四层负载均衡。LVS是Linux Virtual Server的缩写,意思是Linux虚拟服务器。目前有三种IP负载均衡技术(VS/NAT、VS/TUN和VS/DR);八种调度算法(rr,wrr,lc,wlc,lblc,lblcr,dh..._lvs+keeplived、nginx工作原理

随便推点

Android开发笔记(三十)SQLite数据库基础操作_"string create_sql = \"create table if not exists -程序员宅基地

文章浏览阅读3.2k次。SQLite语法SQLite是一个小巧的嵌入式数据库,使用方便、开发简单,手机上最早由ios运用,后来android兴起同样也采用了sqlite。sqlite的多数sql语法与oracle是一样的,下面只列出不同的地方:1、建表时为避免重复操作,应加上“IF NOT EXISTS”关键词,例如:CREATE TABLE IF NOT EXISTS table_name2、同样的,删表时_"string create_sql = \"create table if not exists \" + table_name + \" (\" + \"_id"

linux指定网卡走流量,Linux实时输出指定网卡流量-程序员宅基地

文章浏览阅读706次。理论上能正常运行ifconfig的Linux操作系统都可适用这个脚本(当然一般默认会安装perl),打印实时网卡流量和丢包数,好久前当时为了验证输出流量随手写的,多次想改得漂亮点,一直没动手,就这样吧,以免用的时候找不到其实我还想评论自己一句:把Perl写得跟C语言新手一样,真是Perl的悲哀!!!#!/usr/bin/perl -w################################..._linux 所有流量使用指定网卡

OpenCV4萌新之路——详解图像显示三兄弟 “imshow”、“namedWindow” 和“waitKey”_opencv imshow-程序员宅基地

文章浏览阅读2.2k次。OpenCV4萌新之路——详解图像显示三兄弟 “imshow”、“namedWindow” 和“waitKey”一、函数简析二、参数详解1.1 const String & winname1.2 InputArray mat2.1 int delay = 03.1 const String & winname3.2 int flags = WINDOW_AUTOSIZE三、测试代码四. 其他测试1.无限制缩放?2.支持OpenGL四、参考文献上一篇"OpenCV4萌新之路——详解图像读取函_opencv imshow

lightoj 1283 - Shelving Books DP_pipioj1283-程序员宅基地

文章浏览阅读570次。给定n个书本的厚度,然后依次放到书架上,要么放在最左边要么放在最右边,或者不放,要求书的厚度是非递减的序列。然后问最多放置多少本书。数字范围10^5,但是只有100个数字,我们先离散化一下。然后对于放置一本书来言,就是要么增大下界,要么减小上界,或者上下界都不变。那么我们可以采用dp[i][j]代表当前下界为i上界为j最多放置多少本书。对于一个新的书,就是产生dp[a[i]][j]_pipioj1283

我们一起来学习redis吧【redis的启动和关闭,配置文件详解】【redis.windows.conf和redis.windows-service.conf文件的区别】_redis.windows-service.conf和redis.windows.conf-程序员宅基地

文章浏览阅读1.1w次,点赞18次,收藏48次。1:redis的安装1.1:redis在window系统的安装省略,可以自行百度我这里安装的压缩版1.2:redis在linux系统的安装现在还没有用到,用到了再补上TODO2:redis的服务启动2.1:在windows系统中启动redis服务端使用cmd进入到redis的安装目录redis-server.exe redis.windows.conf可以在windows系统中编写一个启动文件,可以把该指令写入到startup.cmd文件中启动redis客户端重新启用一个cmd会_redis.windows-service.conf和redis.windows.conf

Sql注入waf过滤机制及绕过姿势-程序员宅基地

文章浏览阅读375次。在进行sql注入测试中总会遇到各种厂商的waf,本篇文章将对waf的过滤机制,以及常见的绕过方法进行介绍,希望在以后的测试中会对大家有所帮助。0x01 WAF的过滤机制 WAF全称网站应用级***防御系统是Web Application Firewall的简称,主要有以下四个功能:1. 审计设备--用来截获所有HTTP数据或者仅仅满足某些规则的会话 ;2. 访问控制设..._%d6%5c

推荐文章

热门文章

相关标签