app 应用中,大多数应用都具有定位功能,百度定位就成了开发人员的集成定位功能的首选,近期也在做定位功能,可是发现百度真是个大坑啊, sdk 命名更新了,相关代码却不更新,害得我花费了非常长时间来研究,今天来给大家分享下 Android 集成百度地图要注意的事情,这里仅仅是集成了定位和地图展示功能,其它功能还未涉及,先看下效果图:

接下来介绍一下 Android 集成百度地图的步骤:

首先登陆百度开发平台,在我的应用中创建应用,然后你会看到例如以下界面:

依据它的要求填写相关信息,这里的安全是有 SHA1和包名组成的,将 SHA1和包名填写完毕之后会自己主动产生,报名肯定都知道怎样获得, SHA1的获取方式例如以下:(android studio)

mac 版:

打开 android studio 的 Terminal, 在里面输入命令行

keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android

按回车就可以会的 SHA1;

window 版:

WIN+R 打开“执行” 输入 CMD 回车

CD C:\Program Files\Java\jdk1.7.0_71\bin (安装JDK路径)

keytool -list -v -keystore c:\users\your_user_name.android\debug.keystore -alias androiddebugkey -storepass android -keypass android

比如:keytool -list -v -keystore c:\users\Administrator.android\debug.keystore -alias androiddebugkey -storepass android -keypass androidand 然后就看到SHA1了

假设实在不行,能够通过一个工具来获取,这个工具还能够检測你生成的 key 是否正确,点击获取工具

该工具是我在网上找的,在这里感谢一下, 下载完毕并安装到手机里后,点击刚才安装的工具,它会将手机中的所用应用都检索出来,然后点击你要获取 key 的应用,出现例如以下画面:



这里的 SHA1就是你想要的,而且还能够将你之后获得 key 加入到这里检測下是否正确

点击提交以后你就会在你的应用列表中获取你要的 key 了.接下来就是看下怎样将百度地图集成到你的项目中.

进入首页-以下的 android 开发-任一个功能-左下角的相关下载-自定下载,会出现例如以下界面:



你想要集成什么功能,就把哪个功能选中,在这里选择下载开发包,开发包里有你要集成相关功能的 jar 包,本人不建议下载演示样例代码,就像我开篇提到的,百度地图的sdk 已经更新了,可是演示样例代码还是旧版本号的,假设你參考演示样例代码,会给你带来非常大的误导的!!!!

将你刚才下载下来的开发包里面的东西复制粘贴到你项目中的 libs 下, 假设你用的 android studio 千万别忘了要在 build下加入

sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}

然后就是配置你的 manifest 文件:

首先是权限:

<!-- 这个权限用于进行网络定位-->
<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>

然后是百度地图的服务:

<service android:name="com.baidu.location.f" android:enabled="true" android:process=":remote"/>

最后一个最重要的是配置特有的 key,

<meta-data
android:name="com.baidu.lbsapi.API_KEY"
android:value="" /> //key:开发人员申请的key

将你刚才在百度平台上获取的key 加入到这里就可以

接下来就是在 Demo 中进行定位与地图展示,在我的 demo中写的非常具体了,相关凝视也有,能够下载下来看下,这里不再赘述,要注意的是在集成地图展示的功能时,发现执行会报错,那是由于没有初始化:

SDKInitializer.initialize(getApplicationContext());

而且该方法要加入在 setContentView() 方法的前面才有效,所以我们选择将该方法加入到 application中就可以.

QQ技术交流群:190088567

项目下载地址:

http://download.csdn.net/detail/xiaoxin_android/9493348

Android 开发之集成百度地图的定位与地图展示的更多相关文章

  1. iOS开发之集成百度地图踩过的那些坑(基于 Xcode7.0/iOS9.2)

    本篇分4步讲述如何在项目中集成百度地图: 第一步:创建项目 第二步:利用 cocoaPod 导入百度地图的 SDK(pod 'BaiduMapKit' #百度地图SDK) 第三步:在 pch 文件中导 ...

  2. Android开发:LocationManager获取经纬度及定位过程(附demo)

    在Android开发其中.常常须要用到定位功能,尤其是依赖于地理位置功能的应用.非常多人喜欢使用百度地图,高德地图提供的sdk.开放API,可是在只须要经纬度,或者城市,街道地址等信息.并不须要提供预 ...

  3. Android开发实战一 百度SDK

    一 申请百度API key 百度地图API:http://developer.baidu.com/map/ 百度地图开发者平台地址:http://developer.baidu.com/map/ .点 ...

  4. 我的Android开发之路——百度地图开源工具获取定位信息

    定位技术在现在的移动设备上是必不可少的,许多app都会使用定位功能. 通常定位方式有两种:GPS定位:网络定位. Android系统对这两种定位方式都提供了相应的API支持,但是因为google的网络 ...

  5. Android开发支付集成——支付宝集成

    微信支付传送门:https://www.cnblogs.com/dingxiansen/p/9209159.html 一.支付宝支付 1. 支付宝支付流程图 2. 集成前准备 去蚂蚁金服注册应用获取a ...

  6. Jenkins+Gradle实现android开发持续集成、打包

    Jenkins简介 Jenkins 是一个开源项目,提供了一种易于使用的持续集成系统,使开发者从繁杂的集成中解脱出来,专注于更为重要的业务逻辑实现上.同时 Jenkins 能实施监控集成中存在的错误, ...

  7. Android开发支付集成——微信集成

    支付宝支付传送门:https://www.cnblogs.com/dingxiansen/p/9208949.html 二.微信支付 1. 微信支付流程图 相比较而言,微信支付是要比支付宝麻烦一些,并 ...

  8. Android 开发 框架系列 百度语音合成

    官方文档:http://ai.baidu.com/docs#/TTS-Android-SDK/6d5d6899 官方百度语音合成控制台:https://cloud.baidu.com/product/ ...

  9. android开发之集成zxing,二维码,以及扫描二维码的功能实现。带源代码下载

    package cc.jiusansec.www; import com.google.zxing.WriterException; import com.zxing.activity.Capture ...

随机推荐

  1. Project Euler:Problem 88 Product-sum numbers

    A natural number, N, that can be written as the sum and product of a given set of at least two natur ...

  2. ssh tunnel 上网

    用DNS隧道实现免费上网 大多数机场.酒店之类场所,当你输入一个网址比如www.google.com时,会弹出一个页面要你输入帐号密码才能上网.这个时候DNS能正确解析,但是上网要付费认证. 可以通过 ...

  3. 【HDU 5015】233 Matrix

    [题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=5015 [算法] 矩阵乘法 [代码] #include<bits/stdc++.h> u ...

  4. 【POJ 2352】 Stars

    [题目链接] http://poj.org/problem?id=2352 [算法] 树状数组 注意x坐标为0的情况 [代码] #include <algorithm> #include ...

  5. Fine-tuning CaffeNet for Style Recognition on “Flickr Style” Data 数据下载遇到的问题

    (下载的时候没有提示 不知道是正在下 还是出现错误 卡着了)..一直没有反应 下载前要以管理员身份运行 sudo su 再 python examples/finetune_flickr_style/ ...

  6. avformat_find_stream_info函数卡住问题

    问题:初始化RTSP流时,在android设备上卡住在avformat_find_stream_info函数,然后程序崩溃. 但其他URL没问题,且同样在代码在iOS上没问题,由于jni调试,也没看到 ...

  7. PHP邮件发送库:Swiftmailer

    Swiftmailer需要PHP 7.0或更高版本,(proc_*函数可用.) 安装 composer require "swiftmailer/swiftmailer:^6.0" ...

  8. DirectUI界面编程(六)实现右键弹出菜单

    本节向大家介绍一下右键弹出菜单是如何实现的.效果如下,在窗口中点击鼠标右键弹出菜单,点击菜单项能够响应菜单点击事件. 使用Duilib库实现的弹出菜单,实际上也是一个Windows窗口,因此我们需要创 ...

  9. 玩转 sublime3 第一弹 文件介绍

    安装 官网下载地址:http://www.sublimetext.com/3 本文将以Windows 64 bit 进行讲解. 目录介绍 sublime默认安装之后会生成一个安装目录和数据目录: C: ...

  10. HDU 2955 Robberies【01背包】

    解题思路:给出一个临界概率,在不超过这个概率的条件下,小偷最多能够偷到多少钱.因为对于每一个银行都只有偷与不偷两种选择,所以是01背包问题. 这里有一个小的转化,即为f[v]代表包内的钱数为v的时候, ...