android 百度开发论坛,Android 百度地图开发(一)
现在好多手机应用开发需要使用到百度地图,在使用百度地图的过程和遇到的问题整理一下方便以后使用
申请密钥
使用白度地图首先需要申请API Key,申请百度账户才能得到API Key. 登录 http://developer.baidu.com/map/ 点击申请密钥
申请过程中需SHA1,使用Eclipse的同学应该很容易使用图像工具找到,但是使用Android-studio的同学可能找不到,我也没有找到
我找的过程是,打开cmd,或者在AS中的Terminal.找到debug-keystore文件,比如我的是D:\Users\*****\.android.
在Termina中进入该文件目录,然后输入"keytool -list -v -keystore debug.keystore",命令,记住进入目录下.
申请密钥的其他步骤就不在此多说了.拿的密钥后我们就可以正式在我们的App中使用了.
正式开发
创建好项目后,首先将API包括的两个文件baidumapapi.jar和libBMapApiEngine.so拷贝到工程根目录及libs\armeabi目录下,
AS添加jar有两种方法,一种是在所要添加的jar上右键选择"Add as library"即可,一种是打开build.gradle,build.gradle有两个
一定要打开项目内部的build.gradle,添加下面的代码,
dependencies {
.....
compile files('libs/BaiduLBS_Android.jar')
}
基本使用
在AndroidManifest.xml中添加
android:name="com.baidu.lbsapi.API_KEY"
android:value="AK" />
name就是上面的name不要改变,value是你申请到的AK.
百度API所需权限
基本是那个就是这些权限了.
在自己的xml文件中加入mapview,
android:id="@+id/m_mapview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clickable="true" />
在Activity中的onCreate方法中,
private MapView mBaiduMapView = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
SDKInitializer.initialize(getApplicationContext());
setContentView(R.layout.activity_main);
initBaiduMap();
}
注意两点,
1.initialize方法中必须传入的是ApplicationContext,传入this,或者MAinActivity.this都会报运行时异常.
2.initialize方法必须写在setContentView方法前面,新同学也许会写在后面结果报xml中的错误.
private void initBaiduMap(){
mBaiduMapView = (MapView) findViewById(R.id.m_mapview);
}
写到这里基本上就可以运行出效果了.
@Override
protected void onResume() {
super.onResume();
mBaiduMapView.onResume();
}
@Override
protected void onPause() {
super.onPause();
mBaiduMapView.onPause();
}
@Override
protected void onDestroy() {
mBaiduMapView.onDestroy();
mBaiduMapView = null;
super.onDestroy();
}
有的新同学使用AS运行的时候会报错,我写出我自己遇到的几个错误.
1.java.lang.UnsatisfiedLinkError: Native method not found: com.baidu.platform.comjni.map.basemap.JNIBaseMap.Create:()J
这个是由于在AS上我们将.so文件放在了libs文件夹中,在AS中这样是不行的.我们需要将其放在JniLibs文件夹中,于是有的新同学就自己创建了
JniLibs文件夹结果还是不行,这个时候新同学可以仔细看一下你所创建的JniLibs文件夹和res文件是否一样,有个金黄色的圆柱行的标志,在右下角.
如果没有那就对了新同学其实不需要自己添加JniLibs文件夹的.我们所要做的是:
打开项目内部的build.gradle,添加下面的代码,
sourceSets {
main {
jniLibs.srcDir 'libs'
}
}
再看一下是否有了JniLibs文件夹.这样就不会后此错误了.
2.也许运行的时候会遇见230错误,Authentication Error errorcode: 230 uid: -1 appid -1 msg: APP Scode码校验失败.
这个其实基本上是自己的AK出现了问题,你可以查看自己的SHA1是否正确,申请密钥时填写的包名是否完整.
另外有的同学的电脑上有两个\.android\debug-keystore文件,我就是这样被坑了的.所有确认一下自己的AS所对应的debug-keystore文件.
今天就写到这里,后续我还会在继续使用百度地图踩踩坑,总结一下为新同学填坑.
版权声明:本文为博主原创文章,未经博主允许不得转载。
android 百度开发论坛,Android 百度地图开发(一)相关推荐
- 基于Android的健康医疗论坛的设计与开发(android studio)
提示:文章为原创,仅供参考 基于Android的健康医疗论坛的设计与开发(android studio,提供源码) 提供源码:链接:https://pan.baidu.com/s/1JnbfJ67UC ...
- Android高德地图基本开发/在线高德离线地图开发/断网使用离线地图(Assets文件夹的使用)
文章目录 高德SDK基本使用 前置操作 需求一:显示地图,并以当前所在位置为中心 权限申请 布局功能代码 活动功能代码 效果展示 需求二:离线地图(直接添加到应用端项目内) 需求三 :点击数据后以数据 ...
- 设为首页收藏本站 切换到宽版 Android开发论坛 - 安卓开发论坛 - Android开发 - 安卓论坛 用户名 自动登录 找回密码 密码 注册 人人连接登陆 用新浪微博连接
电梯直达 楼主 发表于 2011-12-20 17:57:23 | 只看该作者 | 倒序浏览 一键分享 一:不同的layout Android手机屏幕大小不一,有480x320, ...
- android高德显示指定位置,高德地图开发(二)地图上显示指定位置
我们在用地图软件搜索的时候,搜索结果会在地图上以红点显示,现在我们来实现一个在地图上显示指定位置的程序,先看效果图. 要实现这么个功能,首先要能将地图视图中心移动到以指定位置:还有在指定位置绘制一个点 ...
- 上海手机移动软件开发论坛_前智能手机开发人员的现代移动软件开发
上海手机移动软件开发论坛 一个不同的时代 (A Different Era) There is now a whole generation of young developers who are s ...
- 快速搭建离线地图开发环境(局域网地图开发工具)离线地图二次开发
相关下载:For Linux版本下载 快速搭建离线地图开发环境 局域网地图服务 离线地图数据服务 二次开发 一.软件介绍 BIGEMAP离线地图服务器,提供一站式搭 ...
- 三维地图开发平台-支持离线地图开发
Bigemap GIS Office 234 篇文章16 订阅 订阅专栏 更多示例代码:http://www.bigemap.com/offlinemaps/gl.html 1. ...
- 游戏开发论坛_国内游戏开发站点与论坛
用户下载APP习惯: 1.周末为用户一周下载的高峰期 2.20点-22点为用户一天的下载高峰 76%的应用下载行为来源于第三方引用商店 希望成为策划的同志应该培养的习惯. 1. 浏览,对于大量的资料要 ...
- java调用高德地图API开发,高德在线地图开发——未完待续
这是目录 一.引入高德地图API 二.高德地图开发 1.定义一个div来存放地图 2.生成地图 3.添加一个跳跃的点 4.添加控件 5.有其他需要的请留言 一.引入高德地图API 高德地图官方示例:h ...
最新文章
- Apache OpenMeetings 5.0.0 发布:开源视频会议和协作系统
- linux cached 进程,关于Linux cached内存简析
- python排序的方法_python中排序的一种方法
- CQYZOJ P1392 拔河问题
- anaconda新建python2环境安装不了jupyterlab_在Mac下安装anaconda及配置jupyterLab和PyTorch的方法...
- python 打卡程序_如何用python实现腾讯文档自动打卡并定时执行
- Latex中关于参考文献的一些经验
- 10 windows 启动虚拟机报错_如何修复Windows 10中的Java虚拟机致命错误
- Unity小地图中点击角色移动功能 (附上demo)
- 如何写简单实用的产品需求文档PRD
- java第七章学习笔记:访问控制---java世界的卫兵
- IE 零日漏洞风险评估
- Android MIntegral广告SDK接入
- python鼠标监听_用Python监听鼠标和键盘事件
- 职场减压移魂大法几则 (转东转西)
- 用D3.js绘制完整的流程图demo
- 改进的节点分析法(Modified Nodal Analysis)
- cocos creator jsc 逆向解码为js
- 【PP那些事儿】特殊采购类40
- PLSQL 解析XML示例2
热门文章
- jvm类加载机制和类加载器_在JVM之下–类加载器
- Hibernate陷阱
- 如何摆脱JavaFX中的重点突出显示
- 全部关于测试–第1部分
- NetBeans IDE 8.0和Java 8的新功能
- 向SAML响应中添加自定义声明–(如何为WSO2 Identity Server编写自定义声明处理程序)...
- 通过Jedis API使用排序集
- MacOSX环境上的多个Java JDK
- 3步实现Jetty和Eclipse集成
- 没有内存条电脑能开机吗_开机键过时了!3种电脑开机方法,能让你睡懒觉的技术还不快来学...