Android 开发之集成百度地图的定位与地图展示
来源:互联网 发布:苹果怎么打开php文件 编辑:程序博客网 时间:2024/06/08 04:02
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 开发之集成百度地图的定位与地图展示
- Android 百度地图开发之地图定位
- Android开发--定位服务与百度地图
- Android 开发百度地图之二定位
- android百度地图开发之定位
- Android开发笔记之百度地图定位
- Android开发之集成百度地图SDK
- 百度地图API android开发之地图定位
- Android开发 关于百度地图的定位
- 百度地图开发之【定位】
- 百度地图开发之定位
- Android第三方集成之百度地图定位
- Android百度地图之定位
- Android百度地图开发(二)定位之手动定位
- android 百度地图定位开发之时时定位-位置获取
- 百度地图的集成定位与路径规划
- Android 高德地图集成 地图展示+定位+路线规划+各种原有图标的隐藏处理
- android中集成jpush与百度地图定位锁得知的消息
- 一个很好的仿微博消息浏览功能的Demo
- 求Sn=a+aa+aaa+aaaa+...+aaaaaa...a的值
- 在Java的JDBC使用中设置事务回滚的保存点的方法
- C#反射实用技术
- android------关于API 23的权限问题
- Android 开发之集成百度地图的定位与地图展示
- uva10943 How do you add?
- Leetcode-1.Two Sum
- 设计模式
- 内网ip打洞-----p2p实现原理
- linux上操作注意事项
- hdu 4533 线段树(问题转化+)
- Toast不是乱弹的
- 常用的4种动态网页技术