Android百度地图开发(一)

安卓百度地图开发(一) android studio导入百度地图sdk全过程 1.  申请密钥     点这里申请密钥① 点击创建应用② 应用名随意,应用类型选择Android SDK,包名为你的android项目包名(如 com.example.xxx)③ 获取SHA1发布版SHA1:在android studio中,选择Build → Generate Signed APKcreate newcreate完成之后返回↑输入密码即可在 cmd 中定位到该 jks 目录下 ... 阅读详情

Android百度地图开发

前几天看着慕课学了一下百度地图,在这里做一下总结

加载包

申请秘钥(这个就不多说了,网上一大把);
注意:引入.so库时有两种方法
  • 建立与java同级的JniLibs目录然后讲所有so库文件全部放进去就ok,不需要做其他工作(破坏目录结构不推荐)
  • 将so库文件全部放入libs目录在gradle文件中加入
 sourceSets{
        main{
            java.srcDirs=['src/main/java','src/main/java-gen']
            jniLibs.srcDirs=['libs']
        }
    }

加载地图

 mMapView = (MapView) findViewById(R.id.baimapView);
 baiduMap = mMapView.getMap();
注意:mapView的生命周期要与Activity同步

定位相关

相关类

  • MapStatusUpdate :地图状态更新

    • MapStatusUpdateFactory.zoomIn(float f):地图缩放
    • MapStatusUpdateFactoryn.newLatLng(Lanlng lanlng):定位新坐标,lanlng包含经纬度
  • MyLocationClient:定位对象

  • MyLocationOption:定位设置
    • 生命周期与Map相关OnStart()调用client.start() , OnStop()调用client.stop()
    • 注册监听器
      • mLocationClient.registerLocationListener(mLocationListener); //注册监听器
        mLocationListener = new MyLocationListener();
        mLocationClient.registerLocationListener(mLocationListener); //注册监听器
        //Location设置
        mLocationClientOption = new LocationClientOption();
        mLocationClientOption.setCoorType("bd09ll"); //设置坐标格式
        mLocationClientOption.setIsNeedAddress(true); //设置是否需要获取地址
        mLocationClientOption.setOpenGps(true); //设置打开GPS
        mLocationClientOption.setScanSpan(1000); //设置请求时间间隔
        mLocationClient.setLocOption(mLocationClientOption);

MyLocationListener代码

private class MyLocationListener implements BDLocationListener {

        @Override
        public void onReceiveLocation(BDLocation location) {
            //通过回调获取定位信息
            MyLocationData locationData = new MyLocationData.Builder()
                    .direction(mCurrentX) //此处设置开发者获取到的方向信息,顺时针0-360
                    .accuracy(location.getRadius()) //设置准确性,半径
                    .latitude(location.getLatitude()) //获取纬度
                    .longitude(location.getLongitude()) //获取经度
                    .build();
            //添加方向覆盖物
            /**
            *LocationMode: 地图模式
            *mIconLocation: 定位图标
            */
            MyLocationConfiguration myLocationConfig = new MyLocationConfiguration(MyLocationConfiguration.LocationMode.NORMAL, true, mIconLocation);
            baiduMap.setMyLocationConfigeration(myLocationConfig);

            //向地图添加定位信息
            baiduMap.setMyLocationData(locationData);
            //获取经纬度
            mlatitude = location.getLatitude();
            mlongitude = location.getLongitude();

            if (isFirstLocation) {
                centerToMyLocation();
                isFirstLocation = false;

                Toast.makeText(context, "我的位置:" + location.getAddrStr(), Toast.LENGTH_SHORT).show();
            }
        }
    }

centerToMyLocation()

 private void centerToMyLocation() {
        LatLng latLng = new LatLng(mlatitude, mlongitude); //获取当前经纬度并封装在latLng对象中
        Log.d(TAG, "onReceiveLocation: latLng = " + latLng);
        MapStatusUpdate mapStatusUpdate = MapStatusUpdateFactory.newLatLng(latLng); //地图状态更新
        baiduMap.animateMapStatus(mapStatusUpdate); //跟踪到当前位置
    }

这样就可以实现第一次登陆地图定位到当前的位置,并显示定位图标,但是没有方向传感器

方向传感器

mIconLocation = BitmapDescriptorFactory.fromResource(R.drawable.icon_openmap_focuse_mark);
myDirectionSensorListener = new MyDirectionSensorListener(this);
myDirectionSensorListener.setOrientation(new      MyDirectionSensorListener.OnOrientationListener() {
            @Override
            public void onOrientationChanged(float x) {
                mCurrentX = x;
            }
        });

MyDirectionSensorLister.java代码

package com.lqy.funnyday.model.map;

import android.content.Context;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;

/**
 * Created by mrliu on 16-9-14.
 */
public class MyDirectionSensorListener implements SensorEventListener {

    private Context context;
    /**
     * 传感器相关
     */
    private SensorManager sensorManager;
    private Sensor sensor;

    /**
     * 坐标相关
     */
    private float lastX; //x轴数据
    private OnOrientationListener orientation; //通过接口对象回调坐标轴数据

    public MyDirectionSensorListener(Context context) {
        this.context = context;
    }



    public void setOrientation(OnOrientationListener orientation) {
        this.orientation = orientation;
    }

    /**
     * 开启方向传感器
     */
    public void start() {
        sensorManager = (SensorManager) context.getSystemService(Context.SENSOR_SERVICE);
        if (sensorManager != null) {
            sensor = sensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION);
        }
        if (sensor != null) {
            sensorManager.registerListener(this, sensor, SensorManager.SENSOR_DELAY_UI);
        }
    }

    /**
     * 关闭方向传感器
     */
    public void stop() {
        sensorManager.unregisterListener(this);
    }

    @Override
    public void onSensorChanged(SensorEvent event) {
    //只获取X轴坐标
        if (event.sensor.getType() == Sensor.TYPE_ORIENTATION) {
            float x = event.values[SensorManager.DATA_X];
            if (Math.abs(x - lastX) > 1.0) {

                if (orientation != null) {
                    orientation.onOrientationChanged(x);
                }
            }
            lastX = x;
        }
    }

    @Override
    public void onAccuracyChanged(Sensor sensor, int accuracy) {

        //精度改变
    }

    /**
     * 设置回调的接口返回x轴数据
     */
    public interface OnOrientationListener {
        void onOrientationChanged(float x);
    }
}

注意:方向传感器声明周期和Activity相同

权限问题

在Android6.0定位和权限需要动态申请了,如过定位图标出现,但是周边地图没有出现,那很有可能你没有是设置权限

Android Studio[百度地图SDK开发](一) 百度SDK开发(一)基础使用关于百度地图SDk的开发网上有很多的文章都是关于Eclipse的,正好最近用到了百度地图,所以写了一篇文章记录下使用的过程。 阅读详情

相关推荐

android安卓百度地图开发,实现输入起点、目标地址实现导航

android安卓百度地图开发,实现输入起点,目的地实现导航功能,通过修改百度地图官方导航Demo实现的,代码简介,备注清晰详细,值得参考学习。

安卓:百度地图开发(超详细)

百度地图SDK是一套供开发者使用的软件开发工具包(SDK),用于在Android应用程序中集成和使用百度地图功能。通过使用百度地图SDK,开发者可以实现在自己的应用中显示地图、获取定位信息、进行搜索、导航等功能。百度地图SDK提供了许多常用的类和方法,用于实现各种地图相关功能。是百度地图SDK提供的一个控件类,用于在应用程序的界面上显示地图。它是一个自定义的 View,可以与 BaiduMap 类关联,实现地图的显示和交互功能。

A125679880的博客 6597

2016最新百度地图开发demo,定位+导航

2016最新百度地图开发demo,定位+导航,适合初学者

Android Studio+百度地图API实现简单gis移动端App

实习说明:由于很多内容网上都是详细说明,但是我在帮助同学们解决问题过程遇到许多奇怪的问题,花了很多时间去解决,网上查不到,所以值得我记录下来,让后面的学弟学妹节省大部分时间!!同时我也会将该文章发布到我的csdn账号中,大家也可以直接查找噢。涉及到的代码文件下载链接我放在文末了。下载地址:Download Android Studio and SDK tools | Android DevelopersAndroid Studio环境配置具体教程:Android Studio安装教程(AS教程)(超级全

你们瞎搞 6770

android百度地图开发之百度地图源代码实现

自己实现的android百度地图开发,有兴趣的朋友可以参考下,里面语音功能没实现,不知道为啥,一直找不到语音设备,网上找了一些方法也没解决,希望大家知道一下,先谢了 也希望有余力的朋友加以改善 然后给大家分享

Android 百度地图开发

Android百度地图开发应用到自己的项目中去 博客地址:http://blog.youkuaiyun.com/csdnyuandaimaxuexi/article/details/47980783

Android 百度地图开发详解

申请 API Key 首先需要注册百度账号,登陆百度账号,打开网址 http://developer.baidu.com/user/info 填写注册信息并提交,然后去自己的邮箱通过验证,就完成注册了。 接着访问 https://lbsyun.baidu.com/apiconsole/key 会看到下面这个界面 点击 创建应用 申请 API Key, 应用名称可以随便填,这里填 LBSTest ...

LouHerGetUp的博客 5851

老罗Android视频开发教程-百度地图实战开发【10集】

教程名称:老罗Android视频开发教程-百度地图实战开发【10集】课程目录:【】1-《老罗Android开发视频教程》百度地图搭建开发环境【】10-《老罗Android开发视频教程》经纬度和地址的转换【】2-《老罗Android开发视频教程》百度地图覆盖物的描述【】3-《老罗Android开发视频教程》百度地图多个覆盖物的描述【】4-《老罗And 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。

Android定位功能开发(2)——用百度地图API显示地图

要将位置数据以地图的形式显示,需要使用第三方的地图服务。常用的地图服务有谷歌地图、百度地图、高德地图等。这里我们以百度地图为例进行介绍。使用百度地图服务需要以下步骤:一、注册百度开发者帐号;二、申请使用百度地图服务的密钥,即AK(API Key);三、下载百度地图SDK;四、在项目中引入需要的jar包和.so文件;五、调用百度地图API

nanoage的博客 2463

基于微信小程序的智能门禁管理系统的设计与实现(文章+源码)

基于微信小程序门禁管理小程序,该系统支持用户注册登录、查阅新闻动态、提交开门申请和发布留言等功能,同时管理员可以进行用户管理、新闻信息管理、门禁审批管理和留言管理等操作。该系统将采用IDEA开发工具、SSM框架和MYSQL数据库等相关技术,实现用户登录注册、个人信息管理、门禁申请提交、管理员审核等功能。该系统的实现,可以有效提高门禁管理的效率和便利性,同时也具有较强的可扩展性和可维护性。本研究对于智能门禁管理系统的设计和实现具有一定的参考价值。

u011779145的博客 1399

CoppeiaSim(VREP)入门

vrep/CoppeliaSim关节抖动问题原因总结【Coppeliasim|轨迹规划(一)】设置机械臂的关节角时保证机械臂不散架设置机械臂的关节角时保证机械臂不散架。

weixin_50624597的博客 3227

Android中实现百度地图

现在许多APP应用都需要实现地图功能,能够很好的对自己所在的位置进行定位。因此,我尝试着使用下百度地图实现将自己的位置显示出来。        这里我使用百度为我们提供的“百度地图”。

付之一笑的专栏 5203

保姆级教程:用AI辅助反编译Python3.9+的EXE文件(兼容新版pycdc工具)

本文详细介绍了如何利用AI技术辅助反编译Python 3.9+的EXE文件,解决传统工具如uncompyle6无法处理新版字节码的问题。通过pycdc工具和AI大模型的结合,开发者可以高效还原代码逻辑,并提供了从EXE解包到字节码解析的完整流程,适用于逆向工程和代码分析场景。

hill8的博客 1223

Android 百度地图开发(一)

在自己的Android项目中加入百度地图的功能。 一 申请API key 在使用百度地图之前,我们必须去申请一个百度地图的API key,申请地址http://lbsyun.baidu.com/apiconsole/key,自己自行注册一个百度账号,很快就能申请到的,如下图 点击"创建密钥",系统将为我们自动生成密钥,当然我们在使用

LittleYearYear的专栏 1301

Anolis OS 23实战:5分钟搞定AI环境配置(含NVIDIA驱动一键安装)

本文详细介绍了如何在Anolis OS 23上快速配置AI开发环境,包括NVIDIA驱动的一键安装和TensorFlow、PyTorch等AI框架的部署。通过智能硬件适配引擎和优化后的二进制包,用户可在5分钟内完成传统需要数小时的配置工作,显著提升AI项目开发效率。

weixin_30335575的博客 535

军品研制过程评审活动-(一)论证阶段

军品研制过程评审活动-(一)论证阶段

Abel的博客 3815

Android百度地图开发(一)之初体验

转载请注明出处:      做关于位置或者定位的app的时候免不了使用地图功能,本人最近由于项目的需求需要使用百度地图的一些功能,所以这几天研究了一下,现写一下blog记录一下,欢迎大家评论指正! 一、申请AK(API Key)     要想使用百度地图sdk,就必须申请一个百度地图的api key。申请流程挺简单的。     首先注册成为百度的开发者,然后进入

crazy_jack 12万+

iOS安全和逆向系列教程 第18篇:iOS应用脱壳技术详解与实战

iOS应用脱壳技术详解与实战 摘要: 本文深入剖析了iOS应用脱壳技术,首先解释了加壳(如FairPlay DRM)与脱壳的基本概念及必要性。通过otool命令可以检测应用的加密状态。文章详细介绍了三种主流脱壳工具:经典dumpdecrypted工具的使用方法、现代化Clutch工具的安装配置以及基于Frida的高级脱壳方案frida-ios-dump。针对特殊情况,还提供了使用LLDB手动dump内存的技术细节,包括查找基地址、计算dump范围和内存读取等操作。最后介绍了修复Mach-O文件头的Pytho

一个自学不成材的程序员 710

百度地图开发android开发,android的百度地图开发(一)

1,注册百度开发者账号2,申请key ,注意开发版SH和发布版的SH获取开发版SHA1:输入命令:keytool -list -v -keystore debug.keystore,回车输入密钥库口令:android(系统默认)回车。.获取发布版SHA1:创建自己的签名文件在Android Studio软件中选择Build->Generate Signed APK。点击Next按钮这里可以...

weixin_39553753的博客 193

华为OD技术面真题 - 数据库Mysql - 1

汇总华为OD技术面高频Mysql相同问题,提供详细解答。

qq_45776114的博客 1083

gem5-gpu教程01 部署(实测可跑通)

这将GPGPU-Sim更新为与gem5-gpu兼容的最新版本。此版本是已知可用于gem5 gpu的最新版本。

qq_20388971的博客 1404

Android 百度地图开发(一)

现在好多手机应用开发需要使用到百度地图,在使用百度地图的过程和遇到的问题整理一下方便以后使用 申请密钥 使用白度地图首先需要申请API Key,申请百度账户才能得到API Key. 登录 http://developer.baidu.com/map/ 点击申请密钥 申请过程中需SHA1,使用Eclipse的同学应该很容易使用图像工具找到,但是使用Android-studio的同学可能找不

SunnyTime的程序猿之路 547

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

android 百度地图开发两个地图,Android版本百度地图开发(一)

百度地图在Android开发中的应用前景还是蛮广泛的,所以这个系列将比较完整的讲解百度地图SDK的使用。1 创建应用步骤这一章我们讲讲利用百度地图时一般的应用创建步骤。前提是我们已有了一个Android工程。1.1 获取密钥自从2.3.1版本后,百度地图使用了新的密钥系统。我们这里以最新版本的密钥系统进行演示。点击“创建应用”,之后输入应用名称、应用类型(这里是for mobile)、安全码(这里...

weixin_42303522的博客 275

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

轻松学习android百度地图开发(一)

轻松学习android百度地图开发

福建连的博客 644

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

上一篇: AndroidStudio 断点调试
下一篇: gradle templates 插件的使用
NoOneDev
博客等级 码龄11年 1粉丝 3原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值