Android 开发之集成百度地图的定位与地图展示

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

时间: 2024-12-05 13:01:47

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

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

本篇分4步讲述如何在项目中集成百度地图: 第一步:创建项目 第二步:利用 cocoaPod 导入百度地图的 SDK(pod 'BaiduMapKit' #百度地图SDK) 第三步:在 pch 文件中导入头文件和秘钥 秘钥是在 http://lbsyun.baidu.com/apiconsole/key 百度开放平台申请. #define APPKEY @"UzyiXewPsqPhcE1yS8wxqik9" 在使用SDK的类时按需引入下边的头文件 #import <BaiduMap

iOS开发之集成百度地图

由于iOS MapKit框架很多情况并不能满足我们的需求,我们可以选择集成百度地图,那该如何操作呢? 申请Key 登录百度API管理中心申请Key http://lbsyun.baidu.com/apiconsole/key 创建一个应用 箭头所指就是我们所要用到的Key 下载SDK http://developer.baidu.com/map/static/doc/output_ios/BaiduMap_IOSSDK_v2.6.0_All.zip 开发指南 如何使用开发包可以参考开发指南 ht

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

在Android开发其中.常常须要用到定位功能,尤其是依赖于地理位置功能的应用.非常多人喜欢使用百度地图,高德地图提供的sdk.开放API,可是在只须要经纬度,或者城市,街道地址等信息.并不须要提供预览地图.地图界面的应用中.这时,不须要使用百度地图.高德地图.这样做只会添加apk的体积.怎么办呢? 事实上LocationManager,Geocoder这些Android API给我们提供的这些类就能够满足了. 以下笔者就来讲讲怎样利用LocationManager获取经纬度,并利用Geocod

Android实战——轻松集成百度自动更新SDK,只需3步

轻松集成百度自动更新SDK,只需3步 集成百度自动更新SDK前提: 1.需要上线作品进行测试,本人用自己上线的作品进行了测试. 2.需要上线的作品defaultConfig中的versionCode大于手机端的versionCode,本人上线的作品versionCode为2,测试机为1. 本人作品:一款免下载,免安装,即点即用的应用收纳集,应用袋:http://shouji.baidu.com/software/9529251.html 步骤一:在百度开发者平台选择下载百度自动更新SDK,htt

地图与定位之地图、大头针

添加框架CoreLocation.MapKit框架 一.首先了解大头针 要添加大头针需实现协议MKAnnotation ,由下图可以看到,一定要实现coordinate属性. 二.实现大头针协议 添加MyAnnotation类 #import <Foundation/Foundation.h> #import <MapKit/MapKit.h> //MKAnnotation是一个协议 ,添加大头针久需要实现该协议 //coordinate 属性是必须的,所以需要实现该属性 @int

地图与定位之大头针视图

该博文在上一博文地图与定位之地图.大头针的基础上完成. 在MyAnnotation.h 中增加属性 #import <Foundation/Foundation.h> #import <MapKit/MapKit.h> //MKAnnotation是一个协议 ,添加大头针久需要实现该协议 //coordinate 属性是必须的,所以需要实现该属性 @interface MyAnnotation : NSObject<MKAnnotation> @property(non

Android 集成百度地图实现设备定位

Android 集成百度地图实现设备定位步骤1:申请android 端SDK :http://lbsyun.baidu.com/步骤2:下载基础版SDK步骤3:下载示例程序步骤4:开始集成:ak加入libs加入SDKInitializer.setCoordType(CoordType.BD09LL);图标类 /** * 演示覆盖物的用法 */ public class OverlayDemo extends BaseActivity { /** * MapView 是地图主控件 */ priva

Android开发笔记(一百零三)地图与定位SDK

集成地图SDK 国内常用的地图SDK就是百度和高德了,二者的用法大同小异,可按照官网上的开发指南一步步来.下面是我在集成地图SDK时遇到的问题说明: 1.点击基本地图功能选项,不能打开地图,弹出"key验证出错!请在AndroidManifest.xml文件中检查key设置的"的红色字提示.查看日志提示"galaxy lib host missing meta-data,make sure you know the right way to integrate galaxy&

Android中级篇之百度地图SDK v3.5.0-一步一步带你仿各大主流APP地图定位移动选址功能

定位+移动选址 百学须先立志-学前须知: 我们经常在各大主流APP上要求被写上地址,如百度外卖.爱鲜蜂收货地址等等:其中他们大多数是可以让我们在地图上移动选址.就如下面这段GIF演示的一样: 尽信书,不如无书-能学到什么? 1.地图状态MapStatus类及监听setOnMapStatusChangeListener 2.定位LocationClient类 3.反地理编码GeoCoder类 工欲善其事必先利其器-申请Key 百度地图访问应用(AK)申请地址:http://lbsyun.baidu