现在好多手机应用开发需要使用到百度地图,在使用百度地图的过程和遇到的问题整理一下方便以后使用

申请密钥

使用白度地图首先需要申请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 百度地图开发(一)相关推荐

  1. 基于Android的健康医疗论坛的设计与开发(android studio)

    提示:文章为原创,仅供参考 基于Android的健康医疗论坛的设计与开发(android studio,提供源码) 提供源码:链接:https://pan.baidu.com/s/1JnbfJ67UC ...

  2. Android高德地图基本开发/在线高德离线地图开发/断网使用离线地图(Assets文件夹的使用)

    文章目录 高德SDK基本使用 前置操作 需求一:显示地图,并以当前所在位置为中心 权限申请 布局功能代码 活动功能代码 效果展示 需求二:离线地图(直接添加到应用端项目内) 需求三 :点击数据后以数据 ...

  3. 设为首页收藏本站 切换到宽版 Android开发论坛 - 安卓开发论坛 - Android开发 - 安卓论坛 用户名 自动登录 找回密码 密码 注册 人人连接登陆 用新浪微博连接

              电梯直达 楼主 发表于 2011-12-20 17:57:23 | 只看该作者 | 倒序浏览 一键分享 一:不同的layout Android手机屏幕大小不一,有480x320, ...

  4. android高德显示指定位置,高德地图开发(二)地图上显示指定位置

    我们在用地图软件搜索的时候,搜索结果会在地图上以红点显示,现在我们来实现一个在地图上显示指定位置的程序,先看效果图. 要实现这么个功能,首先要能将地图视图中心移动到以指定位置:还有在指定位置绘制一个点 ...

  5. 上海手机移动软件开发论坛_前智能手机开发人员的现代移动软件开发

    上海手机移动软件开发论坛 一个不同的时代 (A Different Era) There is now a whole generation of young developers who are s ...

  6. 快速搭建离线地图开发环境(局域网地图开发工具)离线地图二次开发

         相关下载:For Linux版本下载   快速搭建离线地图开发环境     局域网地图服务   离线地图数据服务  二次开发 一.软件介绍     BIGEMAP离线地图服务器,提供一站式搭 ...

  7. 三维地图开发平台-支持离线地图开发

    Bigemap GIS Office 234 篇文章16 订阅 订阅专栏            更多示例代码:http://www.bigemap.com/offlinemaps/gl.html 1. ...

  8. 游戏开发论坛_国内游戏开发站点与论坛

    用户下载APP习惯: 1.周末为用户一周下载的高峰期 2.20点-22点为用户一天的下载高峰 76%的应用下载行为来源于第三方引用商店 希望成为策划的同志应该培养的习惯. 1. 浏览,对于大量的资料要 ...

  9. java调用高德地图API开发,高德在线地图开发——未完待续

    这是目录 一.引入高德地图API 二.高德地图开发 1.定义一个div来存放地图 2.生成地图 3.添加一个跳跃的点 4.添加控件 5.有其他需要的请留言 一.引入高德地图API 高德地图官方示例:h ...

最新文章

  1. Apache OpenMeetings 5.0.0 发布:开源视频会议和协作系统
  2. linux cached 进程,关于Linux cached内存简析
  3. python排序的方法_python中排序的一种方法
  4. CQYZOJ P1392 拔河问题
  5. anaconda新建python2环境安装不了jupyterlab_在Mac下安装anaconda及配置jupyterLab和PyTorch的方法...
  6. python 打卡程序_如何用python实现腾讯文档自动打卡并定时执行
  7. Latex中关于参考文献的一些经验
  8. 10 windows 启动虚拟机报错_如何修复Windows 10中的Java虚拟机致命错误
  9. Unity小地图中点击角色移动功能 (附上demo)
  10. 如何写简单实用的产品需求文档PRD
  11. java第七章学习笔记:访问控制---java世界的卫兵
  12. IE 零日漏洞风险评估
  13. Android MIntegral广告SDK接入
  14. python鼠标监听_用Python监听鼠标和键盘事件
  15. 职场减压移魂大法几则 (转东转西)
  16. 用D3.js绘制完整的流程图demo
  17. 改进的节点分析法(Modified Nodal Analysis)
  18. cocos creator jsc 逆向解码为js
  19. 【PP那些事儿】特殊采购类40
  20. PLSQL 解析XML示例2

热门文章

  1. jvm类加载机制和类加载器_在JVM之下–类加载器
  2. Hibernate陷阱
  3. 如何摆脱JavaFX中的重点突出显示
  4. 全部关于测试–第1部分
  5. NetBeans IDE 8.0和Java 8的新功能
  6. 向SAML响应中添加自定义声明–(如何为WSO2 Identity Server编写自定义声明处理程序)...
  7. 通过Jedis API使用排序集
  8. MacOSX环境上的多个Java JDK
  9. 3步实现Jetty和Eclipse集成
  10. 没有内存条电脑能开机吗_开机键过时了!3种电脑开机方法,能让你睡懒觉的技术还不快来学...